Windows批处理bat脚本批量重命名文件夹内图片文件
文件夹里面一堆jpg、png图片,想要统一顺序改名 photo_001.jpg、photo_002.jpg。很多人去找各种批量改名软件,其实Windows系统自带bat批处理脚本,不需要安装任何第三方工具就可以完成批量顺序重命名。本篇手把手教写脚本,讲解基础脚本代码,调试方法,注意事项,以及常见报错。只适合Windows系统。
操作步骤
1、把所有需要改名的图片,全部放到同一个文件夹里面。
2、在这个文件夹空白位置,右键新建文本文档txt。
3、把下面脚本复制粘贴到新建的txt文档里面。
@echo off
setlocal enabledelayedexpansion
set n=1
for %%i in (*.jpg *.png) do (
ren "%%i" "pic_!n!.%%~xi"
set /a n+=1
)
echo 批量重命名完成
pause
4、保存txt,把文件名后缀 .txt 修改为 .bat。系统如果隐藏后缀,文件资源管理器查看,顶部「查看」选项卡,勾选文件扩展名,才可以修改后缀。
5、双击这个bat脚本文件运行,脚本就会遍历当前文件夹jpg、png,顺序重命名 pic_1.jpg pic_2.png……。
脚本简单解释
set n=1 是起始编号;for循环遍历jpg png后缀;ren命令执行重命名;!n!是自增变量;%%~xi读取原文件扩展名,保留原来图片后缀。
如果你想要三位数编号001、002格式,修改脚本里面set n=1那一段,改成补零写法:
@echo off
setlocal enabledelayedexpansion
set n=1000
for %%i in (*.jpg *.png) do (
set /a n+=1
ren "%%i" "pic_!n:~-3!.%%~xi"
)
echo 重命名结束
pause
运行之后得到 pic_001.jpg、pic_002.jpg三位数序号文件名。
极其重要:做好备份!
运行bat脚本之前,把整个图片文件夹复制一份备份。一旦脚本写错,文件名错乱,备份可以恢复原始名字。批处理没有撤销,改名操作无法Ctrl+Z回退。
常见踩坑
1、bat双击一闪直接关闭:脚本有语法错误;或者文件后缀没有真正改成bat,还是txt;
2、脚本只处理部分图片:脚本里面写的后缀只有jpg png,如果图片是jpeg,需要把*.jpeg加入循环里面;
3、文件名带中文,Windows默认GBK编码,保存txt为ANSI编码,如果保存为UTF‑8,运行脚本中文乱码报错。记事本另存为,编码选择ANSI。
进阶小提示
这个脚本只处理当前文件夹第一层,不会递归子文件夹里面图片。子目录批量改名需要更复杂的for /r递归脚本。日常绝大多数场景,上面两段脚本足够使用。
