如何用Windows批处理脚本给批量文件添加递增前缀序号重命名?
用Windows批处理实现MP3文件递增序号前缀重命名
没问题,这个需求用Windows批处理脚本就能轻松搞定,我给你写个简洁可靠的脚本,还会拆解每个部分的作用,确保你能顺利使用。
完整批处理脚本
把下面的代码复制到记事本里,保存为rename_mp3.bat(注意后缀是.bat,别存成.txt):
@echo off setlocal enabledelayedexpansion :: 初始化起始序号为1 set "count=1" :: 遍历当前目录下所有.mp3文件(按文件名默认排序) for %%f in (*.mp3) do ( :: 执行重命名,添加序号前缀 ren "%%f" "!count!-%%f" :: 序号自增1 set /a count+=1 ) echo 所有MP3文件已完成重命名! pause
脚本功能拆解
@echo off:关闭命令行窗口的默认命令输出,让运行过程更整洁。setlocal enabledelayedexpansion:开启延迟变量扩展,这是批处理循环里实时更新变量的关键,不然count的递增不会在循环里生效。set "count=1":设置起始序号为1,要是你想从其他数字开始,直接改这个数值就行。for %%f in (*.mp3):遍历当前目录下所有后缀为.mp3的文件,%%f会依次代表每个文件的名称。ren "%%f" "!count!-%%f":执行重命名操作,把原文件名改成「序号-原文件名」的格式,这里用!count!而非%count%就是因为开启了延迟扩展。set /a count+=1:每次循环后让序号加1,实现递增效果。echo ...和pause:重命名完成后给出提示,并且让窗口保持打开,方便你确认结果。
使用方法
- 把这个
.bat文件放到你存放那4个MP3文件的文件夹里。 - 双击运行脚本,等命令行窗口弹出完成提示就搞定了。
进阶提示(可选)
如果你的文件夹里已经有一些带数字前缀的MP3文件,不想重复给它们加前缀,可以修改for循环部分,过滤掉已有的带前缀文件:
for /f "delims=" %%f in ('dir /b *.mp3 ^| findstr /v "^[0-9]-"') do ( ren "%%f" "!count!-%%f" set /a count+=1 )
这段代码会用findstr /v "^[0-9]-"排除所有以「数字-」开头的MP3文件,只处理没有前缀的文件。
内容的提问来源于stack exchange,提问作者kofhearts




