删除文件夹和子文件夹中除最近的3个文件外的所有文件



为了清理我们的备份文件夹,我写了一个简短的批处理文件,该文件将通过任务调度程序运行,以定期清除除3个最新副本外的所有文件。

目前我有以下

for /f "skip=3 eol=: delims=" %%F in ('dir /b /o-d *.sqb ^| findstr /r /c:"LOG_.*"') do @del "%%F"

这将适用于带有批处理文件的文件夹内的文件,但我想从更高级别运行它来检查所有备份,我已经尝试了/s命令,但这些命令只保留了所有文件夹中的3个最新文件,因为我需要将3个最最新文件保存在每个文件夹和子文件夹中

首先按目录递归循环:

for /r /d %%a in (*) do (
    for /f "skip=3 eol=* delims=" %%b in ('dir /b /a-d /o-d "%%a*LOG*.sqb"') do (
        del "%%~fb"
    )
) 2>nul

相关内容

  • 没有找到相关文章

最新更新