为了清理我们的备份文件夹,我写了一个简短的批处理文件,该文件将通过任务调度程序运行,以定期清除除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