Windows | windows 定时删除N天前的文件

一.项目需求

  Windows 定时删除指定路径下天 90 日前的数据库备份文件

二.对应脚本

  将下述所需命令写入到 txt 文件,完成后将格式后缀名改为 .bat
注意:笔者在进行脚本测试时,发现命令能够正常使用,写成 .bat 批处理后运行无效,解决方法为,编码格式应为 ANSI 编码。

2.1 删除对象为文件夹下的所有格式文件

2.1.1 脚本命令
@echo off
::演示:删除指定路径下指定天数之前(以文件的最后修改日期为准)的文件。
::如果演示结果无误,把del前面的echo去掉,即可实现真正删除。
::本例需要Win2003/Vista/Win7系统自带的forfiles命令的支持 如果XP需要复制c:\windoWS\system32\

rem 指定待删除文件的存放路径c:\bak 如果不是,相应修改
set SrcDir=c:\bak
rem 指定天数 如90天前
set DaysAgo=90

forfiles /p %SrcDir% /s /m *.* /d -%DaysAgo% /c "cmd /c  del /f /q /a @path"
::pause

2.1.2 脚本含义

  1. 文件所属目录:C:\Users\Administrator\Documents\MysqlDatabase
  2. 删除对象:文件夹下超过90日的所有文件

2.2 删除对象为文件夹下的 .sql 格式文件

2.2.1 脚本命令
@echo off
::演示:删除指定路径下指定天数之前(以文件的最后修改日期为准)的文件。
::如果演示结果无误,把del前面的echo去掉,即可实现真正删除。
::本例需要Win2003/Vista/Win7系统自带的forfiles命令的支持 如果XP需要复制c:\windoWS\system32\

rem 指定待删除文件的存放路径c:\bak 如果不是相应修改
set SrcDir=c:\bak
rem 指定天数 如7天前
set DaysAgo=90

forfiles /p %SrcDir% /s /m *.sql /d -%DaysAgo% /c "cmd /c  del /f /q /a @path"
::pause

2.2.2 脚本含义

  1. 文件为目录下的 .sql 文件:C:\Users\Administrator\Documents\MysqlDatabase\*.sql
  2. 删除对象:文件夹下超过90日的所有 .sql 文件

三.添加定时任务

  将 .bat文件放入指定文件目录中,如

四.对应的变量及其含义

变量描述
@file文件名
@fname无扩展名的文件名
@ext文件扩展名
@path文件的完整路径
@relpath文件的相对路径
@isdir如果文件类型是目录,值为 TRUE,否则值为 FALSE
@fsize用字节表示的文件大小
@fdate文件中上次修改的日期戳
@ftime文件中上次修改的时间戳

五.附件灾后(详解及相关的文档)

点击此处进行下载https://download.csdn.net/download/qq_41980405/13081162

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值