标题: [文件操作] BAT脚本如何批量重命名文件为序号? [打印本页]
作者: a6236130 时间: 2019-6-2 23:24 标题: BAT脚本如何批量重命名文件为序号?
- @echo off
-
-
-
- set Ext=*.jpg,*.tif
-
-
-
- for /r /d %%a in (*) do (
-
- pushd "%%~a"
-
- call set Num=1000
-
- for /f "delims=" %%i in ('dir /a-d/b %Ext%') do (
-
- call set /a Num+=1
-
- call ren "%%~i" "%%Num:~1%%%%~xi"
-
- )
-
- popd
-
- )
-
- pause
复制代码
我的数据是1.jpg 2.jpg 3.jpg 4.jpg 5.jpg 6.jpg 7.jpg 8.jpg 9.jpg 10.jpg 11.jpg这样的形式,若使用上面的代码 则会造成1.jpg=0001.jpg 而10.jpg=0002.jpg 这样的情况。需要怎么改?
是否可以以两种方式达到效果,1.判断文件数值的大小来进行重命名 2.统一给文件补齐位数 这两种思路哪种弊端小?
作者: zaqmlp 时间: 2019-6-3 00:07
你这样,直接补0就是了,如果文件名有缺失/不连续的数字才有必要按大小排序- @echo off
- set info=互助互利,支付宝扫码头像,感谢赞助
- rem 有问题,可加QQ956535081及时沟通
- title %info%
- cd /d "%~dp0"
- for /f "delims=" %%a in ('dir /a-d/b *.jpg *.tif') do (
- set "f=%%a"
- set "newname=0000%%~na"
- setlocal enabledelayedexpansion
- echo;"!f!" --^> "!newname:~-3!%%~xa"
- ren "!f!" "!newname:~-3!%%~xa"
- endlocal
- )
- echo;%info%
- pause
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |