經驗: Windows Batch 的寫作 (114-12-03)

来自Tsetien’s Wiki
跳转到导航 跳转到搜索

使用 for /f "tokens=1-6 delims=/: " %%a in ('robocopy "|" . /njh ^| find ":"') 可以获得从 %%a%%f 的依次代表当前西历年的六个变数。将它们予以固定后便可进行一些有趣的作业,比如——

robocopy-timestamp.bat
@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion
set /a n=0
:p
set /a n=n+1
if %n% gtr 10 goto e
for /f "tokens=1-6 delims=/: " %%a in ('robocopy "|" . /njh ^| find ":"') do set "a=%%a" & set /a a=a-1911 & set "b=%%b" & set "c=%%c" & set "d=%%d" & set "e=%%e" & set "f=%%f"
if "%b:~0,1%"=="0" set "b=%b:~1%"
if "%c:~0,1%"=="0" set "c=%c:~1%"
echo 現在是 %a%%b%%c%%d%:%e%:%f%
if %n% neq 10 timeout /t 1 >nul
goto p
:e
endlocal

即可在萤幕上每隔 1 秒输出一次当前的时间戳,总计输出 10 次后停止。