Windows 8下用Batch文件批量重命名文件并添加连续序号
Batch批量重命名解决方案(Windows 8)
针对你需要把video.mp4、video_2.mp4…video_11.mp4这类文件重命名为file_01_finished.mp4、file_02_finished.mp4…file_11_finished.mp4的需求,我写了一个专门的Batch脚本,能自动识别原文件名里的序号,处理开头无数字的情况,还能把序号格式化为两位数字放在文件名中间。
完整脚本代码
@echo off setlocal enabledelayedexpansion :: 遍历当前目录下所有video开头的mp4文件 for %%f in (video*.mp4) do ( :: 获取文件名(不含扩展名)和扩展名 set "filename=%%~nf" set "ext=%%~xf" :: 初始化序号变量 set "num=" :: 判断文件名是否是纯"video"(对应第一个文件,序号1) if "!filename!"=="video" ( set "num=1" ) else ( :: 提取下划线后的数字部分(处理video_2、video_11这类格式) set "num=!filename:*_=!" ) :: 将序号格式化为两位数字(1→01,11→11) set "num=0!num!" set "num=!num:~-2!" :: 构建新文件名并执行重命名 set "new_name=file_!num!_finished!ext!" ren "%%f" "!new_name!" ) echo 重命名完成! pause
脚本说明
setlocal enabledelayedexpansion:开启延迟变量扩展,让循环里的变量能正常更新和读取,这是Batch处理循环内变量的常用操作for %%f in (video*.mp4):精准遍历当前目录下所有以video开头的MP4文件,避免误处理其他文件- 文件名判断与序号提取:
- 如果文件名就是纯
video(对应原文件video.mp4),直接把序号设为1 - 其他带下划线的文件名(比如
video_2),用!filename:*_=!截取下划线后面的所有内容,快速提取数字部分
- 如果文件名就是纯
- 序号格式化:给序号前面补一个0,然后取最后两位,这样1会变成01,11保持11,确保所有序号都是统一的两位格式
- 重命名操作:按照你要的格式拼接新文件名,执行
ren命令完成重命名
使用步骤
- 打开记事本,把上面的代码复制粘贴进去
- 保存文件时,文件名后缀设为
.bat(比如rename_videos.bat),保存类型选择「所有文件」,避免被存成txt格式 - 把这个bat文件放到你要重命名的视频文件所在的文件夹里
- 双击运行bat文件,等待窗口提示「重命名完成」就搞定了
注意事项
- 运行前建议先备份文件,防止意外情况(虽然脚本逻辑很安全,但谨慎点总是好的)
- 确保目标文件夹里只有
video.mp4、video_2.mp4这类符合格式的文件,避免其他video开头的文件被误处理
内容的提问来源于stack exchange,提问作者Nazmul
相关产品推荐
相关产品推荐

