,你必须考虑到的主要空间和区域设置日期和时间格式。 (1)将日期和时间格式字符串临时更改为众所周知的格式,(2)解析返回的%日期%和%时间%,适当处理空格,以及(3) )在LOGDATETIME变量中放置了一个完整的时间戳。
:logdatetime
reg copy "HKCU\Control Panel\International" "HKCU\Control Panel\International-Temp" /f >nul
reg add "HKCU\Control Panel\International" /v sShortDate /d "yyyy-MM-dd" /f >nul
set LogDate=%date%
reg add "HKCU\Control Panel\International" /v sTimeFormat /d "HH:mm:ss" /f >nul
set LogTime=%Time%
reg copy "HKCU\Control Panel\International-Temp" "HKCU\Control Panel\International" /f >nul
set loghour=%logtime:~0,2%
if "%loghour:~0,1%" == " " set loghour=0%loghour:~1,1%
set logmin=%logtime:~3,2%
if "%logmin:~0,1%" == " " set logmin=0%logmin:~1,1%
set logsec=%logtime:~6,2%
if "%logsec:~0,1%" == " " set logsec=0%logsec:~1,1%
set logyear=%logdate:~0,4%
set logmonth=%logdate:~5,2%
if "%logmonth:~0,1%" == " " set logmonth=0%logmonth:~1,1%
set logday=%logdate:~8,2%
if "%logday:~0,1%" == " " set day=0%day:~1,1%
set logdatetime=%logyear%%logmonth%%logday%%loghour%%logmin%%logsec%
goto :eof
使用它在你的代码,只需在蝙蝠的开始调用它,并使用返回LOGDATETIME varialble
CALL :logdatetime
...
REN "D:\myfile.out" myfile-%LOGDATETIME%.out
感谢安迪,我最终使用: – Adam 2011-05-12 13:00:22
集FORMATTEDTIME =%时间: = - %和REN“MyFile.out”MyFile-%DATE:/ =% - %FormattedTime :: = %%。out它不会插入0,因此将它换成 - 。非常感谢您的帮助。亚当 – Adam 2011-05-12 13:03:06