按date删除窗口中的目录

我运行存储在每台计算机的备份:

D:\Backup 

每台计算机都有一个子文件夹。

 Computer 1: D:\Backup\Computer1 Computer 2: D:\Backup\Computer2 Computer 3: D:\Backup\Computer3 

在每台计算机中,是另一个文件夹,即备份计算机1的date:D:\ Backup \ Computer \ 20110513

在特定的计算机文件夹内,是其中的一组文件和子文件夹。

如何删除3天以前的备份文件夹? 所以今天是2011年5月13日,我想删除超过3天的一切。

所以在一个文件夹中

 Computer 1: D:\Backup\Computer 1\20110508 

将需要删除。

如何运行batch file在每台计算机的文件夹中search并删除所有超过3天的子目录和文件。

计算机文件夹的名称可能会更改,并且没有连续的数字,所以我需要检查超过3天的D:\ Backup子目录,但是在删除过程中,会阻止删除计算机名称文件夹它在3天内没有备份。 我不希望电脑文件夹被删除然后。

从Windows Vista / Server 2008安装库存的Forfiles可以从早期版本的Windows资源工具包中获得,应该可以帮助您。 您可能会在这里find一些使用示例 。

顺便说一句:如果您的备份确实保留了文件和目录的时间戳(这应该是备份副本的良好实践),那么您显然会遇到问题,因为没有办法确定备份是否“3天前”logging备份date并在脚本运行期间评估它们。

另外 – 这是一个不删除的testing。

 forfiles /m * /d -60 /c "cmd /c if @ISDIR==TRUE ECHO HI_MOM @FNAME" 

而危险的版本。 此版本在DELL文件夹中search并删除所有60天或更早的文件夹。

 forfiles /p C:\DELL /m * /d -60 /c "cmd /c if @ISDIR==TRUE RD /S /Q @FILE" 

RD语法是/ S,用于删除所有目录和文件。 / Q是安静模式(不问)。