如何编写.bat脚本批量重命名PDF文件,添加固定前缀并替换可变后缀
批量重命名解决方案
批处理(.bat)实现代码
将以下内容保存为rename.bat,放到需要重命名的PDF文件所在文件夹,双击运行即可:
@echo off setlocal enabledelayedexpansion :: 遍历所有后缀为 .fr.pdf 的文件 for %%f in (*.fr.pdf) do ( set "full_name=%%~nf" :: 截取第一个点之前的文件名部分 set "main_part=!full_name:.=" & rem "!" :: 拼接新文件名并重命名 ren "%%f" "XYZ10!main_part!FRFR.pdf" ) endlocal
原脚本失效原因
批处理原生ren命令的通配符替换逻辑是按位置保留原有字符,无法直接删除文件名中间的字段,所以你之前写的ren *.??.fr.pdf *.FRFR.pdf会残留.zn.fr这类中间字段,无法得到预期结果。
PowerShell单命令实现(可选)
如果你更习惯用PowerShell,可以直接运行以下单条命令一步完成重命名,不需要分两次操作:
Get-ChildItem *.fr.pdf | Rename-Item -NewName {"XYZ10" + $_.Name.Split('.')[0] + "FRFR.pdf"}
内容的提问来源于stack exchange,提问作者lycalys
相关产品推荐
相关产品推荐

