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

如何使用Windows Batch脚本查找带时间戳后缀的指定文件

Batch文件查找问题解决方案

问题排查

  • 切换目录未加/d参数:Batch中cd命令默认仅支持修改当前盘符的工作目录,若脚本执行时的工作目录不在C盘,执行cd c:\MGD不会实际跳转,dir /b输出的是原工作目录的内容,自然找不到目标文件,这也是你去掉日期变量后仍无搜索结果的核心原因。
  • 变量未提前定义:%YYYYMMDD%不是Windows Batch的内置变量,未手动赋值的情况下执行时会被替换为空值,实际执行的搜索逻辑和预期不符。
  • 工具选择不合适:find命令功能偏简单,模糊匹配、正则匹配场景下findstr命令适配性更强。

解决方法

方法1:无需日期变量,直接通配符匹配

直接用dir的通配符筛选带两段下划线后缀的目标文件,最简单高效:

:: /d参数支持跨盘符切换目录
cd /d c:\MGD
:: 匹配MGD_DJE_开头、包含第二段下划线的csv文件,直接输出到结果文件
dir /b MGD_DJE_*_*.csv > Results.txt

方法2:指定日期变量搜索

首先给%YYYYMMDD%变量赋值,再执行搜索:

cd /d c:\MGD
:: 手动指定要搜索的日期,也可以按系统格式动态取当前日期
set YYYYMMDD=20210924
:: 用findstr做包含匹配
dir /b | findstr "MGD_DJE_%YYYYMMDD%" > Results.txt

简体中文默认日期格式的系统,动态获取当前日期8位格式的赋值代码如下:

set YYYYMMDD=%date:~0,4%%date:~5,2%%date:~8,2%

方法3:正则匹配所有带时间戳的文件

如果不需要限定具体日期,只要是带日期时间戳后缀的文件都匹配,可以用findstr的正则模式:

cd /d c:\MGD
dir /b | findstr /r "MGD_DJE_[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]_[0-9][0-9][0-9][0-9][0-9][0-9]\.csv" > Results.txt

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 00:36:05