You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

批量递归重命名文件夹:适配深层子文件夹的批处理代码求助

递归重命名所有old文件夹为new的批处理方案

直接用for /r命令实现递归遍历,下面是完整的批处理代码,能处理所有层级的old文件夹:

@echo off
:: 设置要处理的根目录,比如这里是C:\test
set "target_root=C:\test"

:: 递归遍历根目录下所有名为old的文件夹
for /r "%target_root%" /d %%f in (old) do (
    :: 拼接目标文件夹路径(原文件夹的父目录下的new)
    set "dest_path=%%~dpfnew"
    :: 检查目标路径是否已存在,避免重命名失败
    if not exist "!dest_path!" (
        ren "%%f" "new"
        echo 完成重命名: "%%f" → "!dest_path!"
    ) else (
        echo 跳过: "!dest_path!" 已存在,无法重命名 "%%f"
    )
)

pause

关键说明:

  • for /r "%target_root%" /d %%f in (old):/r参数开启递归遍历,/d指定只匹配文件夹,(old)是要查找的目标文件夹名称,会从target_root开始遍历所有子目录里的old文件夹。
  • %%~dpf:提取当前文件夹%%f的父目录路径,用来拼接出重命名后的目标路径new。
  • 加入了存在性检查,如果目标位置已经有new文件夹,会跳过并给出提示,避免命令报错。

灵活调整:

如果不需要固定根目录,想处理批处理文件所在目录下的所有old文件夹,把set "target_root=C:\test"这行删掉,把for命令改成:

for /r /d %%f in (old) do (

内容的提问来源于stack exchange,提问作者user1202017

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 10:05:15