[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 pcl_test 于 2015-3-30 10:21 编辑

回复 1# akb4888
  1. @echo off & color 3a & setlocal enabledelayedexpansion
  2. title 批量替换文件(文件夹)名
  3. echo 此批处理可批量替换本文件所在文件夹下所有文件(文件夹)名。
  4. echo.
  5. set /p str1= 请输入要替换的文件(文件夹)名字符串(可替换空格):
  6. set /p str2= 请输入替换后的文件(文件夹)名字符串(去除则直接回车):
  7. echo.
  8. echo 正在替换文件名……
  9. for /f "delims=" %%a in ('dir /a-d /s /b') do (
  10. if "%%~nxa" neq "%~nx0" (
  11. set "f=%%~na"
  12. set "f=!f:%str1%=%str2%!"
  13. if not exist "%%~dpa!f!%%~xa" ren "%%a" "!f!%%~xa"
  14. )
  15. )
  16. echo 替换文件名完成
  17. echo.
  18. echo 正在替换文件夹名……
  19. :folder
  20. set n=0
  21. for /f "delims=" %%i in ('dir /ad /s /b ^|find "%str1%"') do (
  22. set t=%%~ni
  23. set t=!t:%str1%=%str2%!
  24. if not exist "%%~dpi!t!" ren "%%i" "!t!" 2>nul
  25. set /a n+=1
  26. )
  27. if "!n!" neq "0" goto folder
  28. echo 替换文件夹名完成
  29. pause
复制代码
1

评分人数

TOP

回复 5# akb4888
试试这样
  1. @echo off
  2. title 批量替换文件(文件夹)名
  3. echo 此批处理可批量替换本文件所在文件夹下所有文件(文件夹)名。
  4. echo.
  5. set /p str1= 请输入要替换的文件(文件夹)名字符串(可替换空格):
  6. set /p str2= 请输入替换后的文件(文件夹)名字符串(去除则直接回车):
  7. echo.
  8. echo 正在替换文件(文件夹)名……
  9. for /f "delims=" %%a in ('dir /s /b ^|sort /+65535') do (
  10. if "%%~nxa" neq "%~nx0" (
  11. set "file=%%a"
  12. set "name=%%~na"
  13. set "extension=%%~xa"
  14. call set "name=%%name:%str1%=%str2%%%"
  15. setlocal enabledelayedexpansion
  16. ren "!file!" "!name!!extension!" 2>nul
  17. endlocal
  18. )
  19. )
  20. echo 完成
  21. pause
复制代码
2

评分人数

TOP

返回列表