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

批处理实现去除文件夹名后两位并合并同项目号多版本文件夹

批处理合并同项目号多版本文件夹解决方案

该需求完全可实现,原代码的问题是仅执行重命名操作,遇到同项目号重名就会跳过,改为先按项目号创建父文件夹、移动所有版本文件、再清空删除旧版本文件夹的逻辑即可实现你的要求。

实现代码

@echo off
setlocal enabledelayedexpansion enableextensions

:: 遍历当前目录下所有符合*_?命名规则的文件夹(适配5位项目号_版本字母的格式)
for /d %%f in (*_?) do (
    :: 提取前5位作为项目号
    set "project_id=%%~nf"
    set "project_id=!project_id:~0,5!"
    
    :: 项目号文件夹不存在则先创建
    if not exist "!project_id!" mkdir "!project_id!"
    
    :: 移动当前版本文件夹内所有内容到项目号文件夹
    :: 带/y参数表示重名文件自动覆盖,不需要自动覆盖可删除该参数
    move /y "%%f\*" "!project_id!\"
    
    :: 删除已清空的旧版本文件夹
    rd "%%f"
)

echo 所有文件夹合并完成
pause
endlocal

注意事项

  • 运行前请先备份所有原始文件夹,避免操作失误丢失数据
  • 代码仅会处理命名符合「前缀_单个字符」规则的文件夹,不会误操作其他命名的文件夹
  • 如果版本文件夹内包含子文件夹,代码也会同步移动子文件夹及内部所有内容,符合合并需求
  • 你给出的示例文件夹运行该代码后,会生成12000、10200、50000三个文件夹,其中10200文件夹内包含原来A、B、C三个版本的所有文件,完全符合你的预期结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 08:18:03