[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off
  2. rem 假设每个文件夹内图片数量均不超过100
  3. setlocal enabledelayedexpansion
  4. for /f "delims=" %%i in ('dir /b /ad') do (
  5. pushd "%%i"
  6. for /l %%l in (1,1,100) do (
  7. if exist %%l.jpg (
  8. set /a "m=(%%l+4)%%4"
  9. if "!m!" equ "1" (
  10. set /a n=%%l+3
  11. ) else (
  12. set /a n=%%l-1
  13. )
  14. ren %%l.jpg !n!.jpg1
  15. )
  16. )
  17. ren *.jpg1 *.jpg
  18. popd
  19. )
  20. endlocal
  21. pause
复制代码

这样行吗?使用前先备份
1

评分人数

bat小白,请多指教!谢谢!

TOP

回复 6# 001011

我知道问题了,是0001 不是1
  1. @echo off
  2. rem 假设每个文件夹内图片数量均不超过1000
  3. setlocal enabledelayedexpansion
  4. for /f "delims=" %%i in ('dir /b /ad') do (
  5. pushd "%%i"
  6. for /l %%l in (1,1,1000) do (
  7. set k=000%%l
  8. set k=!k:~-4!
  9. if exist !k!.jpg (
  10. set /a "m=(%%l+4)%%4"
  11. if "!m!" equ "1" (
  12. set /a "n=%%l+3"
  13. ) else (
  14. set /a "n=%%l-1"
  15. )
  16. set n=000!n!
  17. echo ren !k!.jpg !n:~-4!.jpg1
  18. ren "!k!.jpg" "!n:~-4!.jpg1"
  19. )
  20. )
  21. ren *.jpg1 *.jpg
  22. popd
  23. )
  24. endlocal
  25. pause
复制代码


再试试
1

评分人数

    • 001011: 非常感谢 效果杠杠滴技术 + 1
bat小白,请多指教!谢谢!

TOP

借鉴下7楼和9楼两位大佬的写法,综合一下
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in ('dir /b /s /a-d *.jpg') do (
  4. for /f "tokens=* delims=0" %%b in ("%%~na") do (
  5. set /a "p=%%b%%4"
  6. if !p! equ 1 (
  7. set /a "n=10000+%%b+3"
  8. ) else (
  9. set /a "n=10000+%%b-1"
  10. )
  11. ren "%%a" !n:~-4!.jpg1
  12. )
  13. )
  14. )
  15. endlocal
  16. for /r %%a in (*.jpg1) do (
  17. ren "%%a" "%%~na.jpg"
  18. )
  19. pause
复制代码
bat小白,请多指教!谢谢!

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in ('dir /b /s /a-d *.jpg') do (
  4. set "m=1%%~na"
  5. set /a "p=!m!%%4"
  6. if !p! equ 1 (
  7. set /a "n=!m!+3"
  8. ) else (
  9. set /a "n=!m!-1"
  10. )
  11. ren "%%a" !n:~-4!.jpg1
  12. )
  13. endlocal
  14. for /r %%a in (*.jpg1) do (
  15. ren "%%a" "%%~na.jpg"
  16. )
  17. pause
复制代码
不去0了,前面添加一个1
bat小白,请多指教!谢谢!

TOP

返回列表