我希望重命名特定文件夹中的一组文件,以便所有内容和 之间的括号被删除。
例如,名为:的文件
"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