标题: [文件操作] BAT怎样批量修改PDF文件名? [打印本页]
作者: cnstal 时间: 2013-10-31 15:57 标题: BAT怎样批量修改PDF文件名?
现在一个文件夹下保存有很多PDF文档,命名还是比较有规律的,如下:
M97-S-3-1_0.pdf
M97-S-3-2_0.pdf
M97-S-3-3_0.pdf
......
M97-S-3-99_0.pdf
M97-S-3-100_0.pdf
M97-S-3-101_0.pdf
......
M97-S-3-9999_0.pdf
现在希望文件名中的1,2,3,...,99,100,101,.....,9999流水号,都强制以4位数显示,即显示为0001,0002,0003,...,0099,0100,....
结果希望是:
M97-S-3-0001_0.pdf
M97-S-3-0002_0.pdf
...
M97-S-3-0099_0.pdf
M97-S-3-0100_0.pdf
...
M97-S-3-9999_0.pdf
作者: apang 时间: 2013-10-31 16:18
- @echo off&setlocal enabledelayedexpansion
- for /f "delims=" %%a in ('dir /a-d /b M97-S-3-*.pdf') do (
- set "Name=%%a"
- for /f "delims=_" %%b in ("!Name:*M97-S-3-=!") do (
- set "v=0000%%b"
- )
- Ren "!Name!" "M97-S-3-!v:~-4!_0.PDF"
- )
- pause
复制代码
作者: cnstal 时间: 2013-10-31 16:56
apang 发表于 2013-10-31 16:18
谢谢回复,不过好像不行啊
作者: apang 时间: 2013-10-31 17:48
回复 3# cnstal
"不行" 是个什么状况?
作者: terse 时间: 2013-10-31 18:00
- @echo off&setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('dir /a-d /b M97-S-3-*.pdf') do (
- for /f "tokens=1-4* delims=-_" %%a in ("%%i") do (
- set "s=000%%d"
- Ren "%%i" "%%a-%%b-%%c-!s:~-4!_%%e"
- )
- )
- pause
复制代码
作者: cnstal 时间: 2013-10-31 20:14
terse 发表于 2013-10-31 18:00
万分感谢,解决了!!!
作者: hzcxdgioa 时间: 2013-11-28 23:40
谢谢lz分享。。。。。。。。。
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |