[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off
  2. @setlocal enabledelayedexpansion
  3. set num=1
  4. set name=0001
  5. call:count
  6. :main
  7.     for /R %%i in (*.jpg,*.jpeg,*.png,*gif,*.bmp,*.ico,*.dib,*.jpe) do (
  8.         if not %%~ni LSS %num% (
  9.             rem echo rename "%%i" %name%.%%~xi ----  %num%
  10.             rename "%%i" %name%.%%~xi
  11.             set /A num=num+1
  12.             call:int
  13.             goto:main
  14.         )
  15.     )
  16.     call:sleep 125
  17. goto:main
  18. :count
  19.     rem 计算已重命名的文件数
  20.     if exist %num%.jpg (
  21.         set /A num=num+1
  22.         call:int
  23.         goto:count
  24.     )
  25. goto:eof
  26. :int
  27.     rem 统一格式
  28.     set name=00000%num%
  29.     set name=%name:~-4%
  30. goto:eof
  31. :sleep
  32.     rem 防高频
  33.     echo WScript.sleep %1 > sleep.vbs
  34.     start /wait sleep.vbs
  35.     del sleep.vbs
  36. goto:eof
复制代码
支持几乎所有图片后缀名。
支持9999以内。
错了再通知我,我只测试到23.

TOP

本帖最后由 Gin_Q 于 2020-3-22 08:53 编辑
  1. @echo off& setlocal enabledelayedexpansion &rem by Gin
  2. ::可以检查是否拖入了上一次文件(间隔超过一次无法检测)
  3. ::如果中间删掉了一个文件可以自动补充(需要重新打开程序)
  4. ::需要把程序放在修改后的图片文件目录
  5. ::增加图片格式为原有格式(任意格式文件都可以)
  6. ::REV 01
  7. ::检查文件名
  8. for /l %%a in (1,1,9999) do (
  9. if %%a lss 10 ( for /f %%b in ('attrib -i "000%%a*"') do (
  10. if "%%b" equ "找不到文件" ( echo 正在处理第%%a个文件
  11. call :input
  12. copy !file! "000%%a!suffix!")))
  13. if %%a geq 10 ( if %%a lss 100 (for /f %%b in ('attrib -i "00%%a*"') do (
  14. if "%%b" equ "找不到文件" ( echo 正在处理第%%a个文件
  15. call :input
  16. copy !file! "00%%a!suffix!"))))
  17. if %%a geq 100 ( if %%a lss 1000 (for /f %%b in ('attrib -i "0%%a*"') do (
  18. if "%%b" equ "找不到文件" ( echo 正在处理第%%a个文件
  19. call :input
  20. copy !file! "0%%a!suffix!"))))
  21. if %%a geq 1000 ( for /f %%b in ('attrib -i "%%a*"') do (
  22. if "%%b" equ "找不到文件" ( echo 正在处理第%%a个文件
  23. call :input
  24. copy !file! "%%a!suffix!")))
  25. )
  26. echo 文件数已到达9999!
  27. pause&exit
  28. :input
  29. set /p file=请拖入文件:
  30. if "!file!" equ "!che!" goto :input
  31. for /f "tokens=*" %%a in ("!file!") do set "suffix=%%~xa"
  32. set "che=!file!"
  33. exit /b 0
复制代码

TOP

返回列表