Batch file 批处理-删除一周前的备份

Batch file 批处理-删除一周前的备份,batch-file,backup,Batch File,Backup,因此,我有一个批处理文件,它将文件夹备份到我的Google Drive目录,如下所示: C:\Program Files\WinRAR\rar.exe a -r "D:\Google Drive\Saves Backup\%DATE%.rar" "D:\Documents\My Games\" 这将在适当的文件夹中创建一个名为30-Sep-12.rar(今天正在运行)的文件 然而,我的问题是:是否有某种方法可以通过上述文件夹(D:\Google Drive\Saves Backup)删除一周以

因此,我有一个批处理文件,它将文件夹备份到我的Google Drive目录,如下所示:

C:\Program Files\WinRAR\rar.exe a -r "D:\Google Drive\Saves Backup\%DATE%.rar" "D:\Documents\My Games\"
这将在适当的文件夹中创建一个名为30-Sep-12.rar(今天正在运行)的文件


然而,我的问题是:是否有某种方法可以通过上述文件夹(D:\Google Drive\Saves Backup)删除一周以上的备份(由文件名决定)?

我认为您不能仅使用批处理文件。如果你能编写C/C++程序,你就可以很容易地编写一个程序,获取目录内容,比较日期,然后删除旧文件。

我认为你不能仅仅用批处理文件来完成它。如果你能编写C/C++程序,你就可以很容易地编写一个程序来获取目录内容,比较日期,然后删除旧文件。

为什么必须使用文件名中嵌入的日期?上次修改的日期应与文件名中嵌入的日期相同,只要备份创建后未修改

FORFILES是为数不多的方便使用日期算法的Windows实用程序之一。从命令行键入
FORFILES/?
,以获取有关其用法的帮助

forfiles /p "D:\Google Drive\Saves Backup" /m "*.rar" /d -7 /c "cmd /c del @path"

如果有人可能修改备份,从而更改上次修改的日期,则上述操作将不起作用。对日期进行分析和比较是一件痛苦的事情。您最好使用VBScript。

为什么必须使用文件名中嵌入的日期?上次修改的日期应与文件名中嵌入的日期相同,只要备份创建后未修改

FORFILES是为数不多的方便使用日期算法的Windows实用程序之一。从命令行键入
FORFILES/?
,以获取有关其用法的帮助

forfiles /p "D:\Google Drive\Saves Backup" /m "*.rar" /d -7 /c "cmd /c del @path"

如果有人可能修改备份,从而更改上次修改的日期,则上述操作将不起作用。对日期进行分析和比较是一件痛苦的事情。您最好使用VBScript。

我必须检查一下。根据Google Drive对时间戳的处理方式,或者如果要提取归档文件的时间戳发生了更改,我可能不得不走另一条路。理想情况下,如果forfiles对我不起作用,我将只编写一个PHP脚本来完成我想做的事情。谢谢你的帮助。为我工作,但我必须从我的
/p
参数中删除尾随\才能使其工作。我必须检查一下。根据Google Drive对时间戳的处理方式,或者如果要提取归档文件的时间戳发生了更改,我可能不得不走另一条路。理想情况下,如果forfiles对我不起作用,我将只编写一个PHP脚本来完成我想做的事情。谢谢你的帮助。为我工作,但我必须从
/p
参数中删除尾随\才能工作