6

我有一个显示警报打印机的文本文件。我想在 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% –
4

2 回答 2

6

如果您使用的是 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"
于 2013-09-20T01:28:17.150 回答
6

这样的东西应该适用于 XP :

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

只需根据您的问题进行调整。

于 2013-09-20T00:36:58.560 回答