背景:在软件配置管理的备份工作中,本机备份或异机备份都会遇到一个问题,就是备份文件越来越大,越来越多,硬盘容量空间是有限的,不可能将每天的备份文件都保留在硬盘上,因此自然会想到只保留近几天的备份文件。这时,如何定期删除某天前的文件就成了备份工作中的一个环节了。以下就是其中一种方案:
方案说明:通过系统cmd命令来编写批量删除某天前的文件bat文件,然后通过系统的计划任务来实现定期删除的功能。PS:Windows Server 2008系统
第一步:编辑bat文件
语句: forfiles /p F:\RD_Backup\GIT_DATA_BACKUP /d -3 /s /m *.gz /c "cmd /c del /f @path" (注意:可以编写多条语句来实现批量删除。)
解释:
forfiles [/p Path ] [/m SearchMask ] [/s ] [/c Command ] [/d [{+ | - }] [{MM / DD / YYYY | DD }]]
参数
/p Path
指定Path ,表明要从哪里开始搜索。默认的文件夹是当前工作目录,该目录通过键入句号(.) 指定。
/m SearchMask
按照SearchMask 搜索文件。默认的SearchMask 是*.* 。
/s
指示forfiles 在子目录中搜索。
/c Command
在每个文件上运行指定的Command 。带有空格的命令字符串必须用引号括起来。默认的Command 是"cmd /c echo @file" 。
/d [{+ | - }] [{MM / DD / YYYY | DD }]
选择日期大于或等于(+ )(或者小于或等于(- ))指定日期的文件,其中MM / DD / YYYY 是指定的日期,DD 是当前日期减去DD 天。如果未指定+ 或- ,则使用+ 。DD 的有效范围是0 - 32768。
/?
在命令提示符下显示帮助。
第二步:建立系统任务计划
- 在控制面板找到任务计划,执行任务计划向导
- 然后根据界面说明完成设置即可