Windows

使用 %time% 變數的批處理腳本需要前導零

  • October 28, 2019

我在我的 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%

引用自:https://serverfault.com/questions/147515