Ira*_*Ira 26 scripting windows time batch
我在 DOS 脚本中遇到了一个错误,该错误使用日期和时间数据进行文件命名。问题是我最终出现了一个差距,因为时间变量没有自动提供小时 < 10 的前导零。所以运行> 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
Run Code Online (Sandbox Code Playgroud)
最终是:C:\Temp\robolog_20100602_93208.log(早上 9:23)。
这个问题和这个有关。
谢谢
小智 14
我的解决方案是使用以下想法:
SET HOUR=%TIME:~0,2%
IF "%HOUR:~0,1%" == " " SET HOUR=0%HOUR:~1,1%
Run Code Online (Sandbox Code Playgroud)
与丹尼斯的回答类似的想法。问题是宽度%time%总是相同的,所以它在开头插入一个空格而不是返回一个较短的字符串。
你可以摆脱它for:
for /f "delims= " %x in ("%time%") do set T=0%x
Run Code Online (Sandbox Code Playgroud)
其余的或多或少是相同的。
| 归档时间: |
|
| 查看次数: |
89501 次 |
| 最近记录: |