我有一个显示报警打印机的文本文件。我想在Windows XP下设置一个批处理文件,将报警打印机的默认名称更改为包含日期,这样可以更容易地搜索错误。报警打印机被捕获到文本文件中。
我可以更改名称,但每次我尝试将名称设置为日期时,要么什么都没有发生,要么名称改为代码。
到目前为止我已经试过了
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% –发布于 2013-09-20 08:36:59
类似这样的东西应该可以在XP上运行:
ren "C:\TPM 4 Alarm Printer\test.txt" "%date:~4,2%-%date:~7,2%-%date:~10,4%.txt"只需根据您的问题进行调整即可。
发布于 2013-09-20 09:28:17
如果您使用的是XP Pro,这将提供更可靠的时间戳。
@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"https://stackoverflow.com/questions/18895422
复制相似问题