經驗: Windows Batch 的寫作 (114-12-03)
跳转到导航
跳转到搜索
使用 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 次后停止。