您的位置:首页 > 其它

Windows自动删除n天前的文件的批处理脚本

2017-07-03 12:13 501 查看
数据库每天备份文件,然而只需要保留七天的备份即可,编写一个批处理脚本文件自动删除七天前的文件并设置定时任务

自动删除文件需要用到forfiles命令
forfiles参数:
/p 指定的路径
/s 包括子目录
/m 查找的文件名掩码
/d 指定日期,有绝对日期和相对日期, 此处-7指当前日期 的7天前
/c 运行的命令行 表示为每个文件执行的命令。命令字符串应该用双引号括起来。
默认命令是 "cmd /c echo @file"。下列变量 可以用在命令字符串中:
@file - 返回文件名。
@fname - 返回不带扩展名的文件名。
@ext - 只返回文件的扩展。
@path - 返回文件的完整路径。
@relpath - 返回文件的相对路径。
@isdir - 如果文件类型是目录,返回 "TRUE";如果是文件,返回 "FALSE"。
@fsize - 以字节为单位返回文件大小。
@fdate - 返回文件上一次修改的日期。
@ftime - 返回文件上一次修改的时间。

新建一个记事本文件,输入下面的命令,将文件名命名为“删除7天前备份文件.bat”,注意要删除文件所在的路径
@echo off  #需要密码
forfiles /p "C:\autoscpfile\data" /s /m *.bak /d -7 /c "cmd /c del /f @path"
forfiles /p "C:\autoscpfile\log" /s /m *.txt /d -7 /c "cmd /c del /f @path"
脚本文件写好后设置定时任务
在Windows server 2003上打开任务计划
“开始”—>“所有程序”—>“附件”—>“系统工具”—>“任务计划”
空白处右键单击新建计划任务,将任务命名为“删除7天前备份”,双击该任务
选择浏览,找到批处理文件的路径,设置密码,密码是执行该脚本的用户的登录密码





设置脚本执行的时间,每天3:00执行该脚本,然后点击应用,确定






在Windows server 2008 R2上打开任务计划
“开始”—>“管理工具”—>“任务计划程序”
右侧操作栏,点击创建任务




给任务命名,选择配置,使用最高权限运行





选择触发器,新建





选择新建触发器,设置任务执行的时间,确定





选择操作,新建




点击浏览,选择要执行的脚本路径,起始于选项填写脚本路径,然后确定






内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  批处理 定时任务