在 Windows (Windows XP) 批处理脚本中,我需要格式化当前日期和时间,以便以后在文件名等中使用。
到目前为止我有这个:
echo %DATE% echo %TIME% set datetimef=%date:~-4%_%date:~3,2%_%date:~0,2%__%time:~0,2%_%time:~3,2%_%time:~6,2% echo %datetimef%
这使:
28/07/2009 8:35:31.01 2009_07_28__ 8_36_01
有没有办法我可以在 %TIME% 中允许一位数小时,所以我可以获得以下信息?
2009_07_28__08_36_01
我最终得到了这个脚本:
set hour=%time:~0,2% if "%hour:~0,1%" == " " set hour=0%hour:~1,1% echo hour=%hour% set min=%time:~3,2% if "%min:~0,1%" == " " set min=0%min:~1,1% echo min=%min% set secs=%time:~6,2% if "%secs:~0,1%" == " " set secs=0%secs:~1,1% echo secs=%secs% set year=%date:~-4% echo year=%year%
:: 在 WIN2008R2 上,例如,我需要让您的“设置月份=%日期:~3,2%”如下所示::否则 00 出现在 MONTH
set month=%date:~4,2% if "%month:~0,1%" == " " set month=0%month:~1,1% echo month=%month% set day=%date:~0,2% if "%day:~0,1%" == " " set day=0%day:~1,1% echo day=%day% set datetimef=%year%%month%%day%_%hour%%min%%secs% echo datetimef=%datetimef%