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

Windows CMD多目录文件归档需求:保留最新修改时间文件

批量处理多目录:保留最新文件,其余移至对应Archive子目录

针对你的需求——批量处理4个指定文件夹,仅保留每个文件夹内修改时间最新的文件,其余文件移动到该文件夹下的Archive子目录——我基于你提供的单目录脚本做了扩展修改,以下是适配你目录结构的完整脚本:

@Echo Off
SetLocal EnableDelayedExpansion

:: 定义需要处理的多个源目录(相对路径,基于脚本所在位置)
Set "sourceDirs=Advisory_rate Internation_Project_Tracker1 Local_Project_Tracker Notification_Tracker"

:: 遍历每个源目录
For %%D In (%sourceDirs%) Do (
    Set "currentDir=%%D"
    :: 检查当前目录是否存在
    If Not Exist "!currentDir!\" (
        Echo 目录 !currentDir! 不存在,跳过处理
        Continue
    )
    :: 创建Archive子目录(如果不存在)
    If Not Exist "!currentDir!\Archive\" (
        MD "!currentDir!\Archive" 2>Nul || (
            Echo 创建 !currentDir!\Archive 失败,跳过该目录
            Continue
        )
    )
    :: 进入当前源目录
    CD /D "!currentDir!" 2>Nul || (
        Echo 无法进入目录 !currentDir!,跳过处理
        CD /D "%~dp0"
        Continue
    )
    :: 遍历文件:跳过最新的1个,移动其余到Archive
    For /F "Skip=1 Delims=" %%A In ('Dir /B/A-D-H-L-S/O-D/TW *.*' ) Do (
        Move /Y "%%A" "Archive\" >Nul 2>&1
    )
    :: 回到脚本所在目录
    CD /D "%~dp0"
)

Echo 批量处理完成!
Pause
Exit /B

关键修改说明:

  • 批量目录定义:通过sourceDirs变量列出所有需要处理的子目录,用空格分隔,完美适配你给出的四个目标文件夹。
  • 延迟变量扩展:启用EnableDelayedExpansion确保循环中变量能正确更新,避免路径解析错误。
  • 自动创建Archive:每个目录处理前自动检查并创建Archive子目录,无需手动提前创建。
  • 相对路径适配:脚本放在INPUT_FILES目录下时,直接使用相对路径即可,不用写冗长的绝对路径,更灵活。
  • 错误处理:添加了目录不存在、创建失败、无法进入目录等情况的提示,避免脚本静默出错,方便排查问题。
  • 全文件类型处理:把原脚本的*.txt改成*.*,处理目录下所有类型文件;如果需要指定特定扩展名,改回*.xlsx或你需要的格式即可。

使用方法:

  1. 将上述脚本保存为movefiles.cmd,放在C:\USERS\GARANG\DOCUMENTS\INPUT_FILES目录下。
  2. 双击运行脚本,或者在CMD中切换到该目录后执行movefiles.cmd。
  3. 脚本会自动处理四个子目录,每个目录仅保留修改时间最新的文件,其余文件移动到对应Archive子目录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 10:03:49