Windows
使用 %time% 變數的批處理腳本需要前導零
我在我的 DOS 腳本中遇到了一個錯誤,它使用日期和時間數據進行文件命名。問題是我最終得到了一個間隙,因為時間變數沒有自動為小時 < 10 提供前導零。所以 running> echo %time% 會返回:‘9:29:17.88’。
有誰知道有條件地填充前導零來解決這個問題的方法?
更多資訊:我的文件名設置命令是:
set logfile=C:\Temp\robolog_%date:~-4%%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%%time:~6,2%.log
最終是:C:\Temp\robolog_20100602_93208.log(早上 9:23)。
這個問題與這個有關。
謝謝
一個非常簡單的方法是用零替換前導空格:
echo %TIME: =0%
輸出:
09:18:53,45
我的解決方案是使用以下想法:
SET HOUR=%TIME:~0,2% IF "%HOUR:~0,1%" == " " SET HOUR=0%HOUR:~1,1%