有时候需要批量重命名,window全选重命名格式又不能自定义,所以写了一个批处理文件来完成,可以自定义文件名格式
1.使用方法
@echo off
setlocal enableextensions enabledelayedexpansion
set i=1
for /f %%i in ('cd') do set var=%%i
for /r %var% %%a in (*) do (
set temp=1
for /f %%j in ('dir %%a /a-d /b ^| find "rename.bat"') do (set temp=2)
if !temp! EQU 1 (
ren "%%a" "!i!%%~xa"
set/a i=i+1
)
)
把上面的代码复制成一个rename.bat文件,放到你需要批量改名的文件夹中,双击运行就可以批量重命名了,默认命名格式是,1.后缀名、2.后缀名、3.后缀名,运行后可以删除rename.bat
这是未改名前的
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/d42bf2d190e46124e27d8281191fd9be.png)
改名后的
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/982766f8cb7ba1e656816a1082641e5a.png)
代码第8行中的 “!i!%%~xa” 这个是新名称,!i!这个是递增数字,%%~xa这个是后缀名,可以按自己需要进行修改,如给名称中加个 中华 “!i!中华%%~xa”
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/d4ac6227790b92f1b5c9026f7a0260c6.png)
上面这种方式需要把文件放到批量改名的目录中,可以改成输入目录的,就不用把rename.bat文件放到目录中了,下面是代码
@echo off
setlocal enableextensions enabledelayedexpansion
set i=1
set /p var=请输入目录:
for /r %var% %%a in (*) do (
echo %%a
set temp=1
for /f %%j in ('dir %%a /a-d /b ^| find "rename.bat"') do (set temp=2)
if !temp! EQU 1 (
ren "%%a" "!i!%%~xa"
set/a i=i+1
)
)
pause
保存成bat文件,直接运行,输入需要改名的目录就可以了,名称自定义和上面一样