码迷,mamicode.com
首页 > Windows程序 > 详细

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

时间:2017-07-03 15:04:46      阅读:295      评论:0      收藏:0      [点我收藏+]

标签:批处理   定时任务   

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

自动删除文件需要用到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上打开任务计划

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

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

技术分享

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

技术分享

选择触发器,新建

技术分享

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

技术分享

选择操作,新建

技术分享

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

技术分享




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

标签:批处理   定时任务   

原文地址:http://itzhongxin.blog.51cto.com/12734415/1944001

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!