dos中,10点前的时间只有一位,就算在windows中手动修改为长时间模式,在任务栏倒是可以显示出2位小时(前方补0),但是dos中依然顽强的是一位显示小时。
C:\>echo %date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%
20150329 73616
C:\>echo %date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%
20150329 73843
C:\>手动在0到10点中小时数前用0补位
----------------------------------------------------------------
可以利用dos中set命令,环境变量替换增强:%PATH:str1=str2%手动在0到10点中小时数前用0补位,
::1先把上一步的结果放在一个变量a中
set a=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%
::2再用0替换空格(两个百分号是读取变量值,变量a的值是20150329 73843,后面跟冒号,再跟需要替换的字符空格 ,再跟等号=,最后写上替换的字符0,当然别忘了变量的处理是在两个百分号中间。
echo %a: =0%
结果就是20150329082035,小时位不再有空格。