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

批处理脚本实现目录树中文件名与文件夹名批量替换需求

批处理实现递归替换目录/文件名中的"Template"为自定义项目名

以下是修改后的完整批处理脚本,可自动完成模板复制后的文件名、文件夹名替换,无需手动启动Bulk Rename Utility:

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION

echo THIS WILL CREATE YOUR PROJECT FOLDERS
echo[

SET /p projectName="Enter Project Number and Name (ex. 23-000_My New Project): "

REM 创建项目目录
MkDir "Y:\%projectName%"
MkDir "T:\Final Project Files 2023\%projectName%"

REM 复制模板文件到项目目录,/i自动识别目标为目录
xcopy "W:\_PROJECT TEMPLATES_\Template\" "Y:\%projectName%\" /e /i

echo[
echo 正在自动替换所有包含"Template"的文件和文件夹名称...
echo[

REM 先处理文件:递归查找所有含Template的文件,替换文件名
FOR /f "delims=" %%e IN ('dir /s /b /a:-d "Y:\%projectName%\*Template*"') DO (
    SET "filename=%%~nxe"
    SET "filename=!filename:Template=%projectName%!"
    REN "%%e" "!filename!"
)

REM 再处理文件夹:按从深到浅顺序替换,避免父文件夹改名后子路径失效
FOR /f "delims=" %%e IN ('dir /s /b /ad "Y:\%projectName%\*Template*" ^| sort /rev') DO (
    SET "dirname=%%~nxe"
    SET "dirname=!dirname:Template=%projectName%!"
    REN "%%e" "!dirname!"
)

echo[
echo 模板文件夹和文件已复制并完成重命名。
echo[

PAUSE

关键逻辑说明

  • SETLOCAL ENABLEDELAYEDEXPANSION:启用延迟变量扩展,确保循环中修改的变量能实时生效。
  • 先处理文件再处理文件夹:若先修改父文件夹路径,后续文件的查找路径会失效,因此优先完成所有文件重命名。
  • sort /rev:对文件夹路径逆序排序,实现从最深层文件夹开始重命名,避免父目录改名后子目录无法被识别。
  • *Template*:精准匹配所有文件名/文件夹名中包含"Template"的项,保持与原模板命名规则一致。

效果验证

执行脚本后,原目录结构:

Y:\23-000_My New Project\Template-Folder1
Y:\23-000_My New Project\Template-Folder2
Y:\23-000_My New Project\Template-Folder2\Template.txt

将自动转换为:

Y:\23-000_My New Project\23-000_My New Project-Folder1
Y:\23-000_My New Project\23-000_My New Project-Folder2
Y:\23-000_My New Project\23-000_My New Project-Folder2\23-000_My New Project.txt

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 20:52:01