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

修改批处理文件实现UNC路径下批量重命名文件与文件夹

适配UNC路径的批量重命名批处理(含子文件夹)

以下是修改后的批处理代码,支持UNC路径(如\\sharepoint\Sample),可递归处理所有子文件夹和文件,实现指定字符串的批量替换:

@echo off
cls
setlocal EnableExtensions EnableDelayedExpansion

:: 输入目标路径(支持本地路径和UNC路径)
set /p TargetPath=请输入目标目录路径(支持UNC路径,如\\sharepoint\Sample):
:: 输入要替换的旧字符串和新字符串
set /p OldStr=请输入要替换的旧字符串:
set /p NewStr=请输入要替换的新字符串:

:: 递归处理子文件夹(从最深层开始,避免路径变更导致错误)
for /f "delims=" %%i in ('dir /s /b /ad /o-n "%TargetPath%"') do (
    set "FolderName=%%~nxi"
    if not "!FolderName:%OldStr%=!"=="!FolderName!" (
        set "NewFolderName=!FolderName:%OldStr%=%NewStr%!"
        ren "%%i" "!NewFolderName!"
    )
)

:: 递归处理所有文件
for /r "%TargetPath%" %%i in (*) do (
    set "FileName=%%~nxi"
    if not "!FileName:%OldStr%=!"=="!FileName!" (
        set "NewFileName=!FileName:%OldStr%=%NewStr%!"
        ren "%%i" "!NewFileName!"
    )
)

endlocal
pause

关键修改说明

  • 支持UNC路径:不再固定使用脚本所在路径,改为让用户输入目标路径,兼容本地路径和UNC网络共享路径
  • 递归处理子文件夹:使用dir /s /b /ad /o-n命令递归列出所有文件夹,并按深度倒序排列(从最深层到最上层),避免修改上层文件夹后,下层文件夹路径失效的问题
  • 通用字符串替换:原代码通过截取字符串前3位实现替换,改为通用的子串替换逻辑!Var:%OldStr%=%NewStr%!,适配任意长度的替换字符串
  • 避免无效操作:增加判断,仅当文件名/文件夹名包含旧字符串时才执行重命名,减少不必要的命令执行

使用方法

  1. 将上述代码保存为批量重命名.bat
  2. 双击运行,按照提示依次输入:
    • 目标目录路径(如\\sharepoint\Sample或D:\Test)
    • 要替换的旧字符串(如sam)
    • 要替换的新字符串(如CPL)
  3. 等待脚本执行完成,按任意键退出

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 13:12:53