如何使用Command Prompt批量重命名多文件夹内的文件
CMD实现多文件夹文件固定间隔序号批量重命名
操作前务必备份所有待处理文件,避免误操作造成文件损失
你可以直接在待处理文件的根目录下新建批处理脚本(.bat后缀)执行,无需安装第三方工具,即可完成递归遍历所有子文件夹、按固定间隔序号重命名的需求。
通用脚本代码
将以下内容复制到新建的文本文档中,保存后把文件后缀从.txt改成.bat,双击运行即可:
@echo off setlocal enabledelayedexpansion :: 可自定义配置项 set "start_num=10" :: 起始序号 set "step=10" :: 序号间隔步长 set "target_ext=jpg" :: 待处理的文件后缀 set "current_num=!start_num!" :: 递归遍历当前目录及所有子目录下的目标格式文件 for /r %%f in (*.!target_ext!) do ( ren "%%f" "!current_num!.!target_ext!" set /a current_num+=!step! ) echo 重命名完成 pause
使用说明
- 自定义参数:直接修改脚本开头三个配置项的值即可适配不同需求,比如要处理png格式文件就把
target_ext的值改为png,要序号间隔为5就把step的值改为5,要从100开始编号就把start_num的值改为100 - 仅处理当前文件夹:如果不需要遍历子文件夹,只需要重命名当前bat文件所在目录下的文件,把
for /r %%f in (*.!target_ext!) do (这行替换为for %%f in (*.!target_ext!) do (即可 - 自定义排序规则:默认按系统文件遍历顺序重命名,如果需要按修改时间从早到晚排序重命名,把for循环行替换为
for /f "delims=" %%f in ('dir /b /o:d /s *.!target_ext!') do (;如果要按修改时间从晚到早排序,把参数/o:d改为/o:-d即可
若运行时出现重名冲突报错,可以先批量给所有待处理文件加一个临时前缀(比如temp_),再执行重命名脚本,避免生成的序号和已有文件名冲突。
内容的提问来源于stack exchange,提问作者Eve
相关产品推荐
相关产品推荐

