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

[文本处理] 批处理如何批量修改文件夹中的部分名字?

[复制链接]
发表于 2020-12-2 18:08:50 | 显示全部楼层 |阅读模式
将总文件夹内所有的文件夹中的 第一 换成 第1  第二 换成 第2  第三 换成 第3

注意:文件夹内有多层文件夹,只修改文件夹名字中的指定文字
发表于 2020-12-2 18:56:46 | 显示全部楼层
 楼主| 发表于 2020-12-2 18:59:10 | 显示全部楼层
回复 2# ivor


    太专业,可否直接上个代码
发表于 2020-12-2 19:18:32 | 显示全部楼层
本帖最后由 qixiaobin0715 于 2020-12-2 20:15 编辑

来个笨一点的,未测试,注意备份文件。
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in ('dir /s /b /ad *第一* *第二* *第三*^|sort /+100') do (
  4.     set str=%%~na
  5.     set str=!str:第一=第1!
  6.     set str=!str:第二=第2!
  7.     set str=!str:第三=第3!
  8.     ren "%%a" "!str!"
  9. )
  10. pause
复制代码
发表于 2020-12-2 20:18:34 | 显示全部楼层
回复 1# wangkuang
开始考虑欠周,4楼代码修改后测试通过。
发表于 2020-12-3 11:49:13 | 显示全部楼层
  1. @echo off
  2. title 批量替换文件(夹)名的部分字符串
  3. echo.
  4. echo 本批处理可批量替换文件名中部分字符串,不处理子目录
  5. echo.
  6. :AA
  7. set str=%~dp0
  8. set /p "str=输入路径(直接回车,则默认批处理所在路径):"
  9. cd /d "%str%"
  10. echo. &echo 当前路径为 %str%
  11. :S
  12. setlocal enabledelayedexpansion
  13. echo. & echo 当要替换的文件输入为*A这种形式,且替换为空时,会自动删除字符A以前的所有字符(包含字符A)
  14. echo.&set /p strtemp1= 请输入要替换的文件(文件夹)名字符串(可替换空格):
  15. echo.&set /p strtemp2= 请输入替换后的文件(文件夹)名字符串(删除,则直接回车):
  16. echo.
  17. echo 正在修改文件(夹)名中请稍候……
  18. for /f "delims=" %%i in ('dir /a /b') do (
  19. set "f=%%~ni" ::将变量i扩展到文件名和后缀,并赋值给f
  20. set "k=%%~xi"
  21. set "f1=!f:%strtemp1%=%strtemp2%!" ::将f中的字符串1替换成字符串2,并赋值给f1
  22. if not "%%i"==%0 (
  23. if not "!f!!k!"=="!f1!!k!" (
  24. if exist "!f1!!k!" (
  25. echo 由于!f1!!k!存在同名,!f!!k! 文件名未改 ) else ren "!f!!k!" "!f1!!k!"
  26. )
  27. )
  28. )
  29. echo.
  30. echo 替换完成。。。。。。
  31. endlocal ::结束变量延迟
  32. echo.
  33. echo ===========================================================
  34. echo.& echo 【1】……更换路径
  35. echo.& echo 【2】……继续在当前目录替换
  36. echo.
  37. set /p "xuan= 请选择【1】或【2】:"
  38. echo.
  39. if %xuan% equ 1 goto AA else(
  40.     if %xuan% equ 2 goto S
  41. )
  42. echo.&pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 06:40 , Processed in 0.018623 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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