找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 28908|回复: 6

[文件操作] BAT怎样批量修改PDF文件名?

[复制链接]
发表于 2013-10-31 15:57:08 | 显示全部楼层 |阅读模式
现在一个文件夹下保存有很多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
发表于 2013-10-31 16:18:17 | 显示全部楼层
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in ('dir /a-d /b M97-S-3-*.pdf') do (
  3.     set "Name=%%a"
  4.     for /f "delims=_" %%b in ("!Name:*M97-S-3-=!") do (
  5.         set "v=0000%%b"
  6.     )
  7.     Ren "!Name!" "M97-S-3-!v:~-4!_0.PDF"
  8. )
  9. pause
复制代码
 楼主| 发表于 2013-10-31 16:56:15 | 显示全部楼层
apang 发表于 2013-10-31 16:18



    谢谢回复,不过好像不行啊
发表于 2013-10-31 17:48:43 | 显示全部楼层
回复 3# cnstal


    "不行" 是个什么状况?
发表于 2013-10-31 18:00:57 | 显示全部楼层
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in ('dir /a-d /b M97-S-3-*.pdf') do (
  3.     for /f "tokens=1-4* delims=-_" %%a in ("%%i") do (
  4.         set "s=000%%d"
  5.         Ren "%%i" "%%a-%%b-%%c-!s:~-4!_%%e"
  6.     )
  7. )
  8. pause
复制代码
 楼主| 发表于 2013-10-31 20:14:08 | 显示全部楼层
terse 发表于 2013-10-31 18:00



    万分感谢,解决了!!!
发表于 2013-11-28 23:40:05 | 显示全部楼层
谢谢lz分享。。。。。。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 18:35 , Processed in 0.025258 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表