自动删除几天前的备份集文件脚本 for windows

将以下内容根据自己想要备份的库修改后保存为del.bat,加入到计划任务中

@echo 删除指定路径下指定N天前的文件
@echo off
@echo.----------------------------------------------------------------------
@echo.**********************************************************************
@echo. 温馨提醒:
@echo. 1.以管理员身份运行
@echo. 2.以文件的最后修改日期为准
@echo. 3.需要系统自带的forfiles命令的支持
@echo. 4.使用时请先测试,删除的数据不可恢复
@echo. 5.如果测试结果无误,把最后del前面的粉色echo去掉,即可实现真正删除

@echo. 6.每次执行成功会在bat文件所在的目录中产生一个时间命名的log文件

@echo.----------------------------------------------------------------------
@echo.

rem 指定待删除文件的存放路径
set SrcDir=D:orabak
rem 指定几天前的文件
set DaysAgo=21
@echo.----------------------------------------------------------------------
@echo 正在扫描 %SrcDir%路径下%DaysAgo%天前的备份文件......

rem 下面命令为真正删除符合条件的文件日志记录
forfiles /p %SrcDir% /m *.zip /d -%DaysAgo% /c "cmd /c echo 正在删除 del /f /q /a @path" >>./%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%%time:~0,2%%time:~3,2%.log

@echo.
@echo 正在删除文件中......

rem 下面命令为真正删除符合条件的文件且不可恢复
forfiles /p %SrcDir% /m *.zip /d -%DaysAgo% /c "cmd /c echo del /f /q /a  @path"
@echo 删除已完成,若想查看具体删除了哪些文件请看本地删除日志
@echo.
pause exit

如果想了解更多的forfiles参数用法,详见Windows 内置命令forfiles用法

原文地址:https://www.cnblogs.com/zhm1985/p/14307543.html