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

[文件操作] 批处理如何实现文件批量命名?

[复制链接]
发表于 2014-11-27 11:15:09 | 显示全部楼层 |阅读模式
有大量如下命名方式的图片:1.jpg 2.jpg 3.jpg 4.jpg …… 9.jpg 10.jpg ……99.jpg  100.jpg……要把命名改为:001.jpg 002.jpg 003.jpg 004.jpg …… 009.jpg 010.jpg ……099.jpg  100.jpg…如果最大是三位数就在前面补两个0,如果是四位数就补三个0. 如何写代码。
发表于 2014-11-27 16:10:24 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set max=0
  4. set n=0
  5. for %%i in (*.jpg) do (
  6.     set n=%%~ni
  7.     if !n! gtr !max! (
  8.         set max=!n!
  9.     )
  10. )

  11. set len=0
  12. for /f "skip=1 delims=:" %%i in ('^(echo "%max%"^&echo.^)^|findstr /o ".*"') do (
  13.     set /a len=%%i-5
  14. )

  15. set pre=1
  16. for /l %%i in (1,1,%len%) do (
  17.     set /a pre*=10
  18. )

  19. for /f %%i in ('dir /b *.jpg') do (
  20.     set n=%pre%%%~ni
  21.     ren %%i !n:~-%len%!.jpg
  22. )
复制代码
 楼主| 发表于 2014-11-28 08:57:13 | 显示全部楼层
太感谢你了,这段代码能满足要求,我还想请教一下:就是还有一些:组合1.jpg  组合2.jpg 组合3.jpg ……就是在图片的名字前都有“图片”两个字,要如何改下代码呢?谢谢指教。
发表于 2014-11-28 09:05:04 | 显示全部楼层
回复 3# kmustwxw


    到底是“组合”还是“图片”?
 楼主| 发表于 2014-11-28 10:04:00 | 显示全部楼层
不好意思,是组合。谢谢
发表于 2014-11-28 10:47:24 | 显示全部楼层
回复 5# kmustwxw
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set max=0
  4. set n=0
  5. for %%i in (*.jpg) do (
  6.     set n=%%~ni
  7.     set n=!n:组合=!
  8.     if !n! gtr !max! (
  9.         set max=!n!
  10.     )
  11. )

  12. set len=0
  13. for /f "skip=1 delims=:" %%i in ('^(echo "%max%"^&echo.^)^|findstr /o ".*"') do (
  14.     set /a len=%%i-5
  15. )

  16. set pre=1
  17. for /l %%i in (1,1,%len%) do (
  18.     set /a pre*=10
  19. )

  20. for /f %%i in ('dir /b *.jpg') do (
  21.     set n=%pre%%%~ni
  22.     set n=!n:组合=!
  23.     ren %%i !n:~-%len%!.jpg
  24. )
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 13:00 , Processed in 0.018727 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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