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

[文件操作] [分享]BAT批量修改文件扩展名,支持深层目录

[复制链接]
发表于 2012-12-3 13:13:03 | 显示全部楼层 |阅读模式
批量文件扩展名修改,支持深层目录修改。废话少说,直接看代码,欢迎大家拍砖。
  1. @echo off
  2. color 3f


  3. :loop
  4. ::开启延缓环境变量扩展名
  5. setlocal enabledelayedexpansion
  6. cls
  7. echo         *************************************
  8. echo         *************************************
  9. echo         *****    修改特定后缀名文件     *****
  10. echo         *****       编辑:Cicada        *****
  11. echo         *************************************
  12. echo.
  13. echo         1:修改    2:退出
  14. echo.
  15. set /p input=        请选择[1/2]:
  16. echo.
  17. if !input! == 1 goto one
  18. if !input! == 2 exit
  19. goto loop


  20. :one
  21. set /p path=        查找路径[不要输入盘符]:
  22. if not exist "!path!" goto one
  23. echo.
  24. set /p ext1=        查找扩展名[不要带点]:
  25. echo.
  26. set /p ext2=        最终扩展名[不要带点]:
  27. echo.
  28. echo +-------------------------------------------------
  29. echo * 修改文件列表如下:
  30. echo +-------------------------------------------------
  31. set /a num = 0
  32. for /r "%path%" %%j in ("*.!ext1!") do set /a num += 1 && rename "%%j" "%%~nj.!ext2!" && echo !num! "%%j  ==>  %%~dpnj.!ext2!"
  33. echo.
  34. echo +-------------------------------------------------
  35. ::关闭延缓环境变量扩展
  36. endlocal
  37. pause
  38. goto loop
复制代码
发表于 2012-12-3 14:54:00 | 显示全部楼层
这个是不是只能在当前盘符下进行操作啊?
发表于 2012-12-3 14:59:33 | 显示全部楼层
还有一点,最好不要使用跟系统环境变量同名的自定义变量,比如:
%path%
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 20:16 , Processed in 0.017000 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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