@echo off
echo 删除3天前的备份文件和日志
set SrcDir=D:\home
set DaysAgo=3
echo 准备删除3天前的备份文件和日志
forfiles /p %SrcDir% /d -%DaysAgo% /c "cmd /c del /f /q /a @path && rd /s /q @path"
echo 正在执行删除,请稍等……
set SrcDir2=D:\home
set DaysAgo2=3
echo 准备删除3天前的备份文件和日志
forfiles /p %SrcDir2% /d -%DaysAgo2% /c "cmd /c del /f /q /a @path && rd /s /q @path"
pause
echo 任务完成!
@echo off
:关闭命令回显,即不在执行命令时显示命令本身。echo 删除3天前的备份文件和日志
:输出一条提示信息,说明接下来要执行的操作。set SrcDir=D:\home
:设置变量SrcDir
为D:\home
,表示备份文件和日志所在的目录。set DaysAgo=3
:设置变量DaysAgo
为3
,表示要删除的文件和日志的时间范围为3天前。echo 准备删除3天前的备份文件和日志
:输出一条提示信息,说明正在准备删除操作。forfiles /p %SrcDir% /d -%DaysAgo% /c "cmd /c del /f /q /a @path && rd /s /q @path"
:使用forfiles
命令遍历指定目录下的文件,并根据日期条件进行筛选。然后使用cmd
命令执行删除文件和目录的操作。/f
表示强制删除文件,/q
表示静默删除文件,/a
表示删除只读文件。@path
表示当前遍历到的文件路径,rd /s /q @path
表示删除对应的目录及其子目录。echo 正在执行删除,请稍等……
:输出一条提示信息,说明正在执行删除操作。set SrcDir2=D:\home
:设置变量SrcDir2
为D:\home
,表示备份文件和日志所在的目录(第二次删除操作)。set DaysAgo2=3
:设置变量DaysAgo2
为3
,表示要删除的文件和日志的时间范围为3天前(第二次删除操作)。echo 准备删除3天前的备份文件和日志
:输出一条提示信息,说明正在准备删除操作(第二次删除操作)。forfiles /p %SrcDir2% /d -%DaysAgo2% /c "cmd /c del /f /q /a @path && rd /s /q @path"
:使用forfiles
命令遍历指定目录下的文件,并根据日期条件进行筛选。然后使用cmd
命令执行删除文件和目录的操作。/f
表示强制删除文件,/q
表示静默删除文件,/a
表示删除只读文件。@path
表示当前遍历到的文件路径,rd /s /q @path
表示删除对应的目录及其子目录。pause
:暂停脚本的执行,等待用户按下任意键继续。echo 任务完成!
:输出一条提示信息,说明删除任务已完成。