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

批处理脚本问题:带通配符的目录间通配符文件复制

解决批处理脚本的文件复制问题

首先咱们理清你的需求:根据输入的测试编号%M%,创建新目录E%M%,然后把Approved文件夹下所有以%M%开头的子目录里的所有文件,复制到这个新目录中。

你的原脚本存在两个核心问题:

  • 目标路径里用了通配符E%M%*,系统无法识别明确的目标目录
  • 直接用COPY命令处理目录通配符时,没法很好地遍历所有匹配的子目录

下面是修正后的脚本,用FOR /D循环遍历所有符合前缀的目录,再逐个完成文件复制:

@echo off
SET /P M=ENTER THE TEST # 
REM 创建目标目录,引号避免路径含空格的问题,2>NUL屏蔽目录已存在的错误提示
MKDIR "S:\Photometric\Experimental\E%M%" 2>NUL
REM 遍历Approved下所有以%M%开头的子目录
FOR /D %%G IN ("S:\Photometric\Approved\%M%*") DO (
    REM 复制当前目录下的所有文件到目标目录,末尾反斜杠明确标记是目录
    COPY "%%G\*.*" "S:\Photometric\Experimental\E%M%\"
)
echo 文件复制完成!
pause

额外说明:

  • FOR /D %%G IN (...):专门用于遍历目录,%%G会依次保存每个匹配%M%*的目录完整路径
  • 如果需要递归复制子文件夹(包括空文件夹),可以把COPY命令替换为:XCOPY "%%G\*.*" "S:\Photometric\Experimental\E%M%\" /E /H,其中/E表示复制所有子目录,/H表示复制隐藏文件和系统文件
  • 要是只需要复制特定扩展名的文件,把*.*改成对应通配符即可,比如*.png只复制图片文件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:18:41