如何使用batch file重命名文件以包含date?

我有一个显示报警打印机的文本文件。 我想在Windows XP下设置一个batch file来更改报警打印机的默认名称以包含date,这将使查找错误变得更容易。 报警打印机被捕获到一个文本文件。

我已经能够更改名称,但每次我尝试将名称设置为date或者没有任何反应,或者名称更改为代码。

到目前为止我已经尝试过

for /f "tokens=1-5 delims=/ "%d in (%date%) do rename "C:\TPM 4 Alarm Printer\test.txt" %%e-%%f-%%g.txt 

 for /F "tokens=2,3,4 delims=/ " %%i in ('date/t') do set y=%%k for /F "tokens=2,3,4 delims=/ " %%i in ('date/t') do set d=%%k%%i%%j for /F "tokens=5-8 delims=:. " %%i in ('echo.^| time ^| find "current" ') do set t=%%i%%j set t=%t%_ if "%t:~3,1%"=="_" set t=0%t% set t=%t:~0,4% set "C:\Users\e727896\Desktop\test.txt=%d%%t%" echo %C:\Users\e727896\Desktop\test.txt% – 

Solutions Collecting From Web of "如何使用batch file重命名文件以包含date?"

这将提供一个更可靠的时间戳,如果你正在使用XP专业版。

 @echo off for /f "delims=" %%a in ('wmic OS Get localdatetime ^| find "."') do set "dt=%%a" set "YY=%dt:~2,2%" set "YYYY=%dt:~0,4%" set "MM=%dt:~4,2%" set "DD=%dt:~6,2%" set "HH=%dt:~8,2%" set "Min=%dt:~10,2%" set "Sec=%dt:~12,2%" set datestamp=%YYYY%%MM%%DD% set timestamp=%HH%%Min%%Sec% set fullstamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec% ren "C:\TPM 4 Alarm Printer\test.txt" "Alarm - %fullstamp%.txt" 

像这样的东西应该在XP上工作:

 ren "C:\TPM 4 Alarm Printer\test.txt" "%date:~4,2%-%date:~7,2%-%date:~10,4%.txt" 

只是适应你的问题。