一.项目需求
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 脚本含义
- 文件所属目录:
C:\Users\Administrator\Documents\MysqlDatabase
- 删除对象:文件夹下超过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 脚本含义
- 文件为目录下的
.sql
文件:C:\Users\Administrator\Documents\MysqlDatabase\*.sql
- 删除对象:文件夹下超过90日的所有
.sql
文件
三.添加定时任务
将 .bat
文件放入指定文件目录中,如
四.对应的变量及其含义
变量 | 描述 |
---|---|
@file | 文件名 |
@fname | 无扩展名的文件名 |
@ext | 文件扩展名 |
@path | 文件的完整路径 |
@relpath | 文件的相对路径 |
@isdir | 如果文件类型是目录,值为 TRUE,否则值为 FALSE |
@fsize | 用字节表示的文件大小 |
@fdate | 文件中上次修改的日期戳 |
@ftime | 文件中上次修改的时间戳 |
五.附件灾后(详解及相关的文档)
点击此处进行下载https://download.csdn.net/download/qq_41980405/13081162