批量重命名PEM文件:移除文件名中的+数字后缀
批处理脚本实现PEM文件名移除
+数字部分 以下是直接可用的批处理脚本,能自动遍历当前目录下的所有.pem文件,移除文件名中+后跟随的任意位数数字:
@echo off setlocal enabledelayedexpansion :: 遍历当前目录下所有PEM文件 for %%f in (*.pem) do ( :: 提取文件名(不含扩展名) set "original_name=%%~nf" :: 以"+"为分隔符拆分文件名,%%a是+前的内容,%%b是+后的内容 for /f "tokens=1,* delims=+" %%a in ("!original_name!") do ( set "suffix_part=%%b" :: 循环移除suffix_part开头的所有数字 :remove_digits if "!suffix_part:~0,1!" geq "0" if "!suffix_part:~0,1!" leq "9" ( set "suffix_part=!suffix_part:~1!" goto remove_digits ) :: 拼接新文件名并执行重命名 set "new_name=%%a!suffix_part!.pem" ren "%%f" "!new_name!" ) ) endlocal echo 重命名完成!
关键逻辑说明
- 延迟变量扩展:启用
enabledelayedexpansion是为了在循环内部实时读取/修改变量值,避免批处理的变量替换缓存问题。 - 文件名拆分:用
for /f以+为分隔符,把文件名拆分成前缀(+之前的内容)和后缀(+之后的内容)。 - 移除数字循环:通过循环检查后缀开头的字符是否为数字,逐个截掉直到开头无数字为止,适配任意位数的数字(比如
+3、+123都能处理)。 - 安全提示:测试时可以把
ren命令改成echo ren,先预览重命名操作,确认无误后再执行实际重命名。
内容的提问来源于stack exchange,提问作者Mj Ebrahimzadeh
相关产品推荐
相关产品推荐

