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

如何用批处理文件列出Windows 10中近7天创建/修改的文件?

批处理实现列出指定目录下近7天内创建/修改的文件

问题分析

你之前的代码依赖手动输入日期,且通过字符串解析DIR命令输出的日期容易因系统区域格式差异失效,导致无输出。下面是更可靠的解决方案,自动计算7天前的日期,无需手动输入,同时兼容Windows 10的日期格式。

完整代码

@echo off
setlocal enabledelayedexpansion

:: 设置结果输出路径(桌面的RecentFiles.txt)
set "outputFile=%UserProfile%\Desktop\RecentFiles.txt"

:: 获取用户输入的目标目录,默认当前目录
echo 请输入要扫描的目录(直接回车使用当前目录):
set /p "targetDir="
if not defined targetDir set "targetDir=%cd%"

:: 自动计算7天前的日期(格式:YYYYMMDD)
for /f "tokens=2 delims==" %%a in ('wmic os get localdatetime /value') do set "dt=%%a"
set "today=!dt:~0,8!"
set /a "7daysAgo=today-7"

:: 遍历目录下所有文件(排除文件夹),筛选近7天内修改的文件
echo 正在扫描,请稍候...
(
    echo 近7天内创建/修改的文件列表:
    echo ---------------------------
    for /r "%targetDir%" %%f in (*) do (
        :: 获取文件的修改日期(格式:YYYYMMDD)
        for /f "tokens=1,2 delims= " %%d in ('dir /tc "%%f" ^| findstr /i "%%~nxf"') do (
            set "fileDate=%%d"
            :: 将日期转换为YYYYMMDD格式(适配dd/mm/yyyy或MM/dd/yyyy)
            if "!fileDate:~2,1!" equ "/" (
                for /f "tokens=1-3 delims=/" %%x in ("!fileDate!") do set "fileDate=%%z%%y%%x"
            ) else if "!fileDate:~1,1!" equ "/" (
                for /f "tokens=1-3 delims=/" %%x in ("!fileDate!") do set "fileDate=%%z%%x%%y"
            )
            :: 对比日期,筛选符合条件的文件
            if !fileDate! geq !7daysAgo! (
                echo 日期:%%d 时间:%%e 路径:%%f
            )
        )
    )
) > "%outputFile%"

echo 扫描完成,结果已保存至:%outputFile%
pause
exit /b

代码说明

  1. 自动计算日期:通过wmic获取系统当前日期,自动减去7得到7天前的日期,避免手动输入错误。
  2. 遍历文件:使用for /r递归遍历目标目录及子目录下的所有文件,(*)确保只处理文件(排除文件夹)。
  3. 日期格式兼容:自动识别系统的日期分隔符,将文件日期转换为统一的YYYYMMDD格式,避免因区域设置导致的解析错误。
  4. 结果输出:将符合条件的文件的日期、时间和完整路径输出到桌面的RecentFiles.txt中。

使用方法

  1. 将上述代码保存为RecentFiles.bat。
  2. 双击运行,按提示输入要扫描的目录(直接回车则扫描当前目录)。
  3. 扫描完成后,打开桌面的RecentFiles.txt查看结果。

内容的提问来源于stack exchange,提问作者N. Blain

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 06:50:24