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

批处理脚本路径通配符适配:文件名规则变更后的拷贝问题

适配新命名规则的批处理脚本调整方案

没问题,我帮你把批处理脚本调整成适配新规则的版本,分两种场景给你参考:

基础版:仅匹配包含Sign_Off的PDF文件

如果只需要替换文件名匹配规则,不需要额外过滤父目录,直接修改通配符即可,新命令如下:

FOR /R "J:" %%G in (*Sign_Off*.pdf) DO COPY "%%G" "C:\Users\user\discimport" /Y
  • 这里的*Sign_Off*.pdf会匹配文件名任意位置包含Sign_Off字符串的所有PDF文件,完全替代原来的*FINAL.pdf后缀匹配逻辑。

进阶版:同时匹配文件+过滤父目录(以日期代码结尾)

如果需要额外确保文件的父目录是以日期代码结尾的(比如常见的8位YYYYMMDD格式),可以加上目录判断逻辑,脚本如下:

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION

FOR /R "J:" %%G in (*Sign_Off*.pdf) DO (
    REM 获取文件的父目录完整路径
    SET "parent_path=%%~dpG"
    REM 移除路径末尾的反斜杠,方便提取目录名
    SET "parent_path=!parent_path:~0,-1!"
    REM 提取父目录的名称
    FOR %%H in ("!parent_path!") DO SET "parent_name=%%~nH"
    
    REM 判断父目录名是否以8位数字结尾(可根据实际日期格式修改正则)
    ECHO !parent_name! | FINDSTR /R "[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$" >NUL
    IF NOT ERRORLEVEL 1 (
        COPY "%%G" "C:\Users\user\discimport" /Y
    )
)

ENDLOCAL

关键说明:

  1. SETLOCAL ENABLEDELAYEDEXPANSION:开启延迟环境变量扩展,确保循环内的变量能正确更新取值;
  2. 日期代码匹配:如果你的日期代码是其他格式(比如6位DDMMYY),可以修改FINDSTR的正则表达式,比如把8个[0-9]换成6个;
  3. 逻辑流程:先找到符合文件名规则的PDF,再检查它的父目录是否符合日期结尾要求,只有同时满足才执行复制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:51:28