批量重命名文件的批处理脚本 - 删除括号和之间的所有字符

批量重命名文件的批处理脚本 - 删除括号和之间的所有字符

我希望重命名特定文件夹中的一组文件,以便所有内容和 之间的括号被删除。

例如,名为:的文件

"78 Tax Tips for Canadians for Dummies (ISBN - 0470676582)"

我希望将其重命名为:

"78 Tax Tips for Canadians for Dummies"

我需要对特定文件夹中的所有文件执行此操作,针对所有遵循相同文件名字符模式的文件:

Dummies (ISBN - .........)

我尝试遵循并使用批处理脚本逻辑邮政ISBN - ##########但是由于我操作的方式不正确,零件不断变化,我无法让它计算出数字 。

答案1

批处理文件重命名,删除括号和之间的所有字符,但保留扩展名

将以下示例中的所有逻辑保存到文本文件并命名something.cmd,然后只需执行它即可。。。

脚本说明

  • SET RenDir=C:\Path在哪里C:\Path,您需要输入要重命名的文件所在的完整路径。

  • 该脚本逻辑的假设是,仅带RenDir括号的文件()需要使用类型模式进行剥离(ISBN - .........),并且这些文件名的任何其他部分均不包含任何括号()

批处理脚本逻辑示例

@ECHO ON

SET RenDir=C:\Path

FOR /F "DELIMS=() TOKENS=1,3" %%F IN ('DIR /B /A-D "%RenDir%\*.*"') DO (
    CALL :RenameFiles "%%~F" "%%~G"
)
GOTO EOF

:RenameFiles
SET fname=%~1
SET Ext=%~2
REN "%RenDir%\%fname%*%ext%" "%fname%%ext%"
GOTO EOF

相关内容