我们是每日新闻纸张代理商,我们的新闻报纸共有40页。要将新闻报道(PDF文件)提交给新闻阅读器,我们需要将所有40页重命名为特定格式,即 PGTVD_DDMMYYYY_001 * .pdf
DDMMYY将替换为特定日期,页码将自动从1增加到40。
我想创建一个批处理文件,通过运行我可以一次重命名所有文件。
请帮我怎么做。
提前致谢
Chandra Sekhar
答案 0 :(得分:0)
如果未提供日期作为第一个命令行arg。
,则此批处理使用当前日期@Echo off&SetLocal EnableExtensions EnableDelayedExpansion
Set PreFix=PGTVD
:: Get current date
for /f "tokens=1-3 delims=.+-" %%A in (
'wmic os get LocalDateTime^|findstr ^^[0-9]'
) do Set _DT=%%A
Set "MyDate=%_DT:~6,2%%_DT:~4,2%%_DT:~0,4%"
If "%~1" Neq "" Set "MyDate=%~1"
For /f "delims=" %%A in (
'Dir /B/A-D/ON Page*.pdf'
) Do Call :RenSub "%%~fA"
Timeout /T -1
Goto :Eof
:RenSub
Set Name=%~n1
Set /A No=1000+%Name:~4%
Echo Ren %1 "%PreFix%_%MyDate%_%No:~-3%%~x1"
只有当输出看起来正确地删除最后一行中的回声时,才会回显重命名命令。