使用批处理脚本重命名多个 .pdf 文件

Using batch scripting to re-name multiple .pdf files

我正在尝试使用现有 .pdf 中的两个数字重命名多个 .pdf 文件,并使用设置的前缀重命名每个 .pdf。

在我的示例中,我有 30 个左右的 .pdf,名为 "DR DES LSEC01.pdf"、"DR DES LSEC02.pdf" 等等……最多 "DR DES LSEC32.pdf"。我想保留现有数字(即 01、02、03 等),然后添加前缀(在我的示例中,前缀是 "DS2019.000450-CD-SM-03")。

我创建了一个循环批处理文件来遍历每个 .pdf 并通过复制重命名每个文件(我也曾尝试使用重命名功能但无济于事)。

目前,如果我 运行 代码,它会说: 1)语法不正确(如果我使用'ren'函数);要么 2) 系统找不到指定的文件(如果我使用复制功能)

这是代码

setlocal EnableDelayedExpansion

set A="DR DES LSEC"                                                                                                                                                                 
set prefix=DS2019.000450-CD-SM-03

For %%a in (%A%) do (                                                                                                                                                                                                                                                                                                       
        For %%f in ( %%a*.pdf ) do (
            set oldfilename=%%~nf
            set oldname=!oldfilename:~-2!
            set newname=!prefix!-!oldname!
            echo %%f
            echo !newname!
            copy y/ %%f !newname!.pdf
        )
)
pause

你能试试下面的代码片段吗

setlocal EnableDelayedExpansion

set A="DR DES LSEC"                                                                                                                                                                 
set prefix=DS2019.000450-CD-SM-03

For %%a in (%A%) do (                                                                                                                                                                                                                                                                                                       
        For %%f in ( %%a*.pdf ) do (
            set oldfilename=%%~nf
            set oldname=!oldfilename:~-2!
            set newname=!prefix!-!oldname!
            echo %%~nf
            echo !newname!
            copy y/ %%~nf !newname!.pdf
        )
)
pause