【问题标题】:delete all but X most recent folders删除除 X 个最近的文件夹之外的所有文件夹
【发布时间】:2013-08-31 23:17:12
【问题描述】:

谁能提供一个批处理脚本,它将删除目录中除 X 个最近修改的文件夹之外的所有文件夹。我查看了How do I delete old files from a directory while keeping the most recent ones on Windows,但这是基于绝对时间窗口,而不是修改日期的相对顺序。

感谢您的帮助

【问题讨论】:

    标签: windows batch-file cmd


    【解决方案1】:

    这将根据修改日期保留 10 个最新的日志文件:

    @echo off
    for /f "skip=10 delims=" %%a in (' dir *.log /o-d /a-d /b ') do echo del "%%a"
    

    移除 echo 使其执行删除操作,而不仅仅是显示它们。

    【讨论】:

    • 使用 rd /S /Q 静默删除整个非空目录,但这有效。谢谢!
    • 对于我最近使用的 5 个文件夹: FOR /f "skip=5 delims=" %%a IN (' DIR %DEST% /o-d /b') DO RD /S /Q "% DEST%\%%a",其中 %DEST% 是文件夹的路径。
    猜你喜欢
    • 1970-01-01
    • 2016-02-29
    • 1970-01-01
    • 2010-09-06
    • 2017-07-01
    • 1970-01-01
    • 2012-12-15
    • 1970-01-01
    • 2020-09-08
    相关资源
    最近更新 更多