【转】系统创建定时执行任务bat批处理删除指定N天前文件夹的文件
原文链接:https://blog.csdn.net/scholar_man/article/details/80702499
首先我们要创建一个.bat的文件,下面是创建删除七天前D盘backup目录下的.dmp文件和.log文件
@echo off echo 删除7天前的.dmp文件和日志 forfiles /p "D:\backup" /m *.dmp /d -7 /c "cmd /c del @path" forfiles /p "D:\backup" /m *.log /d -7 /c "cmd /c del @path" echo 正在执行逻辑删除,请稍等…… pause echo 任务完成!
下面是创建删除七天前D盘backup目录下的所有文件
@echo off echo 删除7天前所有的文件 forfiles /p "D:\backup" /s /m *.* /d -7 /c "cmd /c del @path" echo 正在执行逻辑删除,请稍等…… pause echo 任务完成!
将以上其中一行复制,新建.txt文本文件,粘贴并保存为.bat格式
说明:
/p 指定的路径
/s 包括子目录
/m 查找的文件名掩码
/d 指定日期,有绝对日期和相对日期, 此处-7指当前日期 的7天前
/c 运行的命令行 表示为每个文件执行的命令。命令字符串应该
用双引号括起来。
默认命令是 "cmd /c echo @file"。下列变量可以用在命令字符串中:
@file - 返回文件名。
@fname - 返回不带扩展名的文件名。
@ext - 只返回文件的扩展。
@path - 返回文件的完整路径。
@relpath - 返回文件的相对路径。
@isdir - 如果文件类型是目录,返回 "TRUE"; 如果是文件,返回 "FALSE"。
@fsize - 以字节为单位返回文件大小。
@fdate - 返回文件上一次修改的日期。
@ftime - 返回文件上一次修改的时间
然后我们要让这个.bat文件按照指定的日期自动重复执行
1.打开扫描件所存放的服务器,点“开始”——“附件”——“系统工具”——“任务计划程序”;
2.打开之后,右击“任务计划程序”——“创建基本任务”;
3.输入基本任务名称,我定义的是“定时清理扫描件”
4.希望该任务何时开始,选择“每天”如下图设置
5.选择“启动程序”,如下图设置
6.将编写的脚本文件添加进来,如下图设置
7.配置完成
8.设置清理间隔时间,如下图,可以看到新创建的计划任务,右击——“属性”
9.选择“触发器”,并新建一个触发器
10.选择编辑触发器,如下图设置,我设置的是定时每5分钟自动清理一次