我有一个例程,它每小时发送一次名为“ orders.txt”的通用.txt文件。收到它们后,我想运行一个批处理文件以将该文件重命名为:orders_DDMMYYYYMMSS_XXX.txt,其中XXX是原始文件中包含的总行数
到目前为止,我已经弄清楚了如何添加日期/时间戳,但没有添加行数。
提前谢谢!
ren *.txt Completed_Orders_%date:~10,4%%date:~7,2%%date:~4,2%%time:~0,2%%time:~3,2%.txt
答案 0 :(得分:0)
我这样做:
set file=*.txt
set /a cnt=0
for /f %%a in ('type "%file%"^|find "" /v /c') do set /a cnt=%%a
ren *.txt "Completed_Orders_%date:~10,4%%date:~7,2%%date:~4,2%%time:~0,2%%time:~3,2%_%cnt%.txt"
答案 1 :(得分:0)
这就是我要做的:
@echo off
for /f "tokens=2 delims==" %%I in ('wmic os get localdatetime /format:list') do set "datetime=%%I"
set "datetime=%datetime:~0,12%"
for %%F in (*.txt) do (
for /f %%a in ('type "%%F"^|find "" /v /c') do (
ECHO ren "%%F" "Completed_Orders_%%~nF_%datetime%_%%a.new
)
)
更改:
for %%F
的循环来处理每个*.txt
文件%%~nF
)保留为新名称的一部分*.txt
撤消了ren
命令。故障排除后,请移除ECHO
(如果确定可以正常运行)