(使用Windows 2000和2003服务器)
我们使用forfiles.exe来删除n天以前的备份.zip文件,而且效果很好(命令有点像下面)
forfiles -p"C:\Backup" -m"*.zip" -c"cmd /c if @ISDIR==FALSE del \"@PATH\@FILE\"" -d-5
如果.zip文件无法创build,我想确保在5天之后,备份中没有0个.zip文件。 因此,该命令需要是:
“删除超过5天的任何东西,但总是保留最近的5个文件,即使它们本身大于5天”
我们可以使用forfiles.exe或其他解决scheme(尽pipe任何一个简单的单行程序总是优于脚本文件)。
谢谢!
FOR /F "skip=5 delims=" %%G IN ('dir /b /OD /A-D') DO del "%%G"
将删除除最新的5个以外的所有文件。 我无法找到所有文件都比5天更新的文件,因此您可能需要使用更复杂的逻辑。
/b
仅列出没有额外信息的文件名
/OD
按逆向日期顺序排列列表。
/AD
过滤器只显示非目录文件
skip=5
跳过5个第一行(5个最新的行)。