所以我有一个批处理文件将文件夹备份到我的Google云端硬盘目录,如下所示:
C:\Program Files\WinRAR\rar.exe a -r "D:\Google Drive\Saves Backup\%DATE%.rar" "D:\Documents\My Games\"
Run Code Online (Sandbox Code Playgroud)
这会在适当的文件夹中生成一个名为30-Sep-12.rar(今天运行)的文件.
但是,我的问题是:有没有办法通过所述文件夹(D:\ Google Drive\Saving Backup)并删除超过一周的备份,由文件名确定?
为什么必须使用文件名中嵌入的日期?只要备份自创建以来未被修改,最后修改日期应与文件名中嵌入的日期相同.
FORFILES是少数可以方便地使用日期算术的Windows实用程序之一.FORFILES /?从命令行键入以获取其用法的帮助.
forfiles /p "D:\Google Drive\Saves Backup" /m "*.rar" /d -7 /c "cmd /c del @path"
Run Code Online (Sandbox Code Playgroud)
如果您有人可能修改备份的风险,从而更改上次修改日期,则上述操作无效.解析和比较日期是批量的痛苦.你最好使用VBScript.