經驗: 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 次後停止。