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

自动删除文件需要用到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天前备份”,双击该任务

选择浏览,找到批处理文件的路径,设置密码,密码是执行该脚本的用户的登录密码

wKioL1lZtVyROZKYAAAlWvbhJvY421.png

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

wKiom1lZtVyhbueZAAAedBgtwTc631.png


在Windows server 2008 R2上打开任务计划

“开始”—>“管理工具”—>“任务计划程序”

右侧操作栏,点击创建任务

wKioL1lZulKgpy2fAABzdL4Fcac433.png

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

wKioL1lZv5HiZZC_AAAzoD2c05w160.png

选择触发器,新建

wKioL1lZv5HyN2V2AAAf0k5gwAk552.png

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

wKiom1lZv5LCd89NAAAyKA_Vi-o646.png

选择操作,新建

wKioL1lZv5PQUR2bAAAhoO3a0vI220.png

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

wKiom1lZv5OCZ4O_AAAWviWoS1U234.png