利用任务计划自动删除指定日期的SQLServer备份文件

利用任务计划自动删除指定日期的SQLServer备份文件

命令
FORFILES [/P pathname] [/M searchmask] [/S]
         [/C command] [/D [+ | -] {yyyy-MM-dd | dd}]
 
方法1:
描述:可以删除7天以前的后缀名为log的日志文件。如今天是6.29,那么会删除6.22
号以前创建的文件。不会删除到回收站。
指定路径为要删除的文件夹路径,该批处理可以放在任意文件夹下。
forfiles /p D:\aizzw\LOG /m *.log -d -7 /c "cmd /c del /f @path"
参数解释:
这里的/p 指的是要删除的备份文件路径
        /m 指的是要匹配的字符,通配符为*号,后缀名可以根据实际情况修改。
如zzw*.log;*.bak;*.txt
-d 指的是日期,“-d -7”指的是从但前日期当前日期往前减7天。
/c 指的是执行命令
@path 返回文件完整路径
方法2:
描述:可以删除7天以前的后缀名为log的日志文件。
不需要指定路径,必须放在要删除日志的文件下。删除当前文件夹下的匹配文件。
forfiles /m *.log -d -7 /c "cmd /c del /f @path"
以上批处理已经在windows 2003的虚拟机上测试通过

下面是这个命令的用法。 
forfiles /p <目标目录名> /d <天数> /c <执行的命令> 
看看列出的三个参数都有什么用处: 
/p 指定了要在哪个目录里查找文件,默认是当前工作目录。 
/d 指定一个日期或天数,用于比较文件的最后修改日期是否符合条件。 
/c 对每个找到的文件执行的命令。 
例1.要把在C盘根目录下最后修改日期大于或等于2007年7月1日的文件复制到D盘根目录下: 
forfiles /p "c:\" /d "2007-7-1" /c "cmd /c copy @path d:\" 
例2.删除在C盘backup目录下最后修改日期在10天前的文件: 
forfiles /p "c:\backup" /d -10 /c "cmd /c echo deleting @file ... && del /f @path" 
先看删除文件的代码 
forfiles /p 包含要删除文件的完整路径(如:F:\Logfiles) /m *.log -d -7 /c "cmd /c del /f @path" 
解释一下相关参数及命令 
/p <Path> : 指定开始搜索文件的位置,如果不指定则默认为当前目录。 
/m <SearchMask> : 文件查找所使用的通配符如代码中的"*.log"则为所有日志文件,当然也可以指定诸如"manmee_*.log"这样以manmee开头的所有日志文件。如果不指定此参数则默认为"*.*"。 
/d [{+|-}][{<Date>|<Days>}] : 指定想选择文件的最后修改时间,上文中用了 "/d -7" 表示所有以当天为基础,7天以前的文件。当然这里还可以指定具体时间,例如:"/d -08/18/2009"这样所有早于2009年8月18日的文件。注意指定的时间必须是"MM/DD/YYYY"的格式。 
/c 对所有文件以此执行指定的命令,命令体须在双引号(")内,默认是"cmd /c echo @file"。上文中用到的是"cmd /c del /f @path"删除指定文件。(这里的@file 和 @path 为变量,下文中将解释。) 
下面说一下上文中用到的参数: 
@PATH : 表示文件的完整的路径。

http://blog.csdn.net/babauyang/article/details/25742797

时间: 2024-10-12 14:10:55

利用任务计划自动删除指定日期的SQLServer备份文件的相关文章

自动备份SQL数据库 并删除指定日期之前的备份文件

/// <summary>        /// 数据备份        /// </summary>        /// public bool DataBackup(string getpath)        {            try            {                SqlConnection con = new SqlConnection();  //利用代码实现连接数据库 con.ConnectionString = Configurat

python删除指定日期前的备份文件

这个脚本还有待完善,没有加入迭代子目录,后期完善. #!/bin/env python #coding=utf-8 import time,datetime,os,sys dir='/usr/local/src' #被删除文件写入日志文件 logdir='/var/log' logfile=os.path.join(logdir,'delete.log') # 定义时间格式 time_format = "%a %b %d %H:%M:%S %Y" # 函数返回"2015-02

Debian下自动备份文件并上传到远程FTP服务器且删除指定日期前的备份Shell脚本

说明:  1.备份目录/home/osyunwei下面所有的文件到/home/osyunweibak里面,并且保存为osyunwei20120701.tar.gz的压缩文件格式(2012_07_01是指备份执行时当天的日期),最后只保留最近7天的备份 2.上传/home/osyunweibak里面的备份文件到远程FTP服务器上,并且只保留最近7天的备份. 3.FTP服务器:192.168.21.139 端口:21 账号:osyunwei 密码:123456 osyunweibak为备份文件存放目

按创建日期删除指定日期之前的文件夹及文件夹下的所有子目录

转载void CTestDlg::DeleteDirectory(CString strDir) { if(strDir.IsEmpty()) return; //首先删除文件及子文件夹 CFileFind ff; BOOL bFound = ff.FindFile(strDir+"\\*", 0); while(bFound) { bFound = ff.FindNextFile(); CString filename = ff.GetFileName(); if(filename=

安卓循环录像,检测内存卡容量,少于一定值自动删除指定文件夹

循环录像,听起来是不是很高大上,其实原理就是检测内存卡容量,少于一定值就自动删除指定的文件夹,这个做监控或者行车记录仪会用得着. /**  * 循环录像,当内存卡容量少于300M时,自动删除视频列表里面的第一个文件  */ private void xunhuanluxiang() { if (Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED)) { File path = Environment.ge

删除指定日期的文件

参考链接:Linux命令删除指定日期的文件 #清理当前目录90天前以.log结尾的文件 find -name "*.log" -mtime +90 -exec rm {} \; 示例 #查找文件内容修改发生在2天之内的文件 find /var/log/hive/ -name "*" -mtime -2 #删除5天前的文件 # -exec参数,如果查找有返回,可在exec参数后加上需要操作的命令,查找结果用{}来代替 find /var/log/hive/ -name

outlook寻找/删除指定日期范围内的邮件

总是收到很多系统预警邮件,时间久了攒了好多垃圾邮件.实际上只需保存近期预警邮件,之前的完全可以删除. 上网找了一圈也没找到方法,然后自己想到了一种,步骤如下: 使用outlook规则,将指定日期范围内的邮件放入指定文件夹: 对该文件夹种的邮件进行最终确认,并删除: 其实最主要的就是找到指定日期范围内的邮件,找到邮件之后,怎么操作就随意了. 具体使用outlook的规则配置如下: 原文地址:https://www.cnblogs.com/buwuliao/p/11252111.html

利用js代码自动删除稿件的普通弹幕

事情的起因是在b站投稿了一个高级弹幕测试的视频(av9940487),但是由于b站的弹幕池机制是新的弹幕顶掉旧的弹幕,所以导致一些人发的高级弹幕很快就被顶掉了. 所以就想着写个脚本来自动删除属性为普通的弹幕,语言用的是javascript,在chrome的控制台就可以执行这个脚本. 1.删除弹幕的流程分析 判断弹幕A是否为普通弹幕,是则选中. 点击删除弹幕的按钮,弹出二次确认框. 点击确定,成功删除. 2.删除弹幕相关的html代码,js代码 2.1 选中 可通过判断class属性为"item-

linux 删除指定日期之前的文件

两种方法: 1. 在一个目录中保留最近三个月的文件,三个月前的文件自动删除. find /email/v2_bak -mtime +92 -type f -name *.mail[12] -exec rm -rf {} \; /email/v1_bak --设置查找的目录:-mtime +92 --设置时间为91天前:-type f --设置查找的类型为文件:-name *.mail[12] --设置文件名称中包含mail1或者mail2:-exec rm -f --查找完毕后执行删除操作: 将