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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows自动删除n天前的文件的批处理脚本相关的知识,希望对你有一定的参考价值。

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

自动删除文件需要用到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天前的文件的批处理脚本的主要内容,如果未能解决你的问题,请参考以下文章

bat脚本:自动压缩n天前的文件转载

Windows 定时删除指定路径下N天前的日志文件

删除n天前的所有目录和文件 - linux命令

linux自动删除7天前的文件

python脚本删除n天前文件可用于windows,linux并且支持跨平台

Windows自动删除7天前的文件