使用FORFILES命令来删除SQLServer备份的批处理
来源:asp之家 发布时间:2012-05-08 06:47:06
虽然有很多种方式可以解决这个问题,但是我们可以用T-SQL代码来处理这个文件删除过程。我用xp_cmdshell命令和FORFILES命令来处理类似于你所列出的过程。可以从Microsoft TechNet中获得FORFILES的可靠信息,但是在这篇文章中,我将涉及FORFILES大量的结构和使用方法来达到你的目的。
该FORFILES命令将选取文件的一个子集并且针对这个子集执行一个命令。这个命令需要下面的参数和接受下面的变量。
参数
参数名描述/p路径/m检索屏蔽 (默认情况下是 *.*)/s如果包含这个参数,那么子目录将会被递归地检索。/c <command>针对结果集中的每一个文件执行命令,命令必须包含在双引号中,默认情况是"cmd c/ echo @file"/d针对文件选择的日期范围,把最新的更改日期当作文件标准。当/d参数是MM/DD/YYYY格式时,满足指定的+/-日期标准的文件也包含在内。当文件格式是smallint (-32,768 - 32,768)文件+/-文件并且带着一个更改日期+/-时,从当前日期到该日期的时间数目将会包含在这个文件结果集中。
变量
变量名描述@FILE文件名@FNAME无扩展的文件名@EXT文件扩展名@PATH文件绝对路经@RELPATH文件的相对路径@ISDIR如果文件类型是一个目录,那么判断是否是TRUE@FSIZE文件大小(用字节衡量)@FDATE文件上的最新更改日期邮戳@FTIME文件上的最新更改时间邮戳
利用这些参数可以构造下面的例子来解决你删除备份脚本文件的难题。你可以基于更改时间/日期或者备份类型来创建脚本。你甚至可以构造能够同时参照两种标准的脚本。
我们将仔细看看这些可能的脚本。记住,你将从T-SQL代码内部执行这个过程,所以你需要在一个xp_cmdshell访问中以EXEC xp_cmdshell 'FORFILES COMMAND'的格式总结这些语句。请注意,在所有的例子中我都会使用/Q 和 /F标签来作为删除命令。这意味着这个命令将使用安静模式(/Q)甚至删除只能读的文件(/F)。
例子
当文件更改日期晚于10/18/2008时,删除所有C:Backup目录和它子目录下的.sql文件。
EXEC xp_cmdshell 'FORFILES /p c:BACKUP /s /m *.sql /d 10/18/2008 /c "CMD /C del /Q /F @FILE"'
当文件更改日期多于30天时,删除所有C:Backup目录和它的子目录下的.sql文件。
EXEC xp_cmdshell 'FORFILES /p c:BACKUP /s /m *.sql /d -30 /c "CMD /C del /Q /F @FILE"'
当文件更改日期多于30天且文件名以"F_"打头时,删除所有C:Backup目录和它的子目录下的.sql文件。
EXEC xp_cmdshell 'FORFILES /p c:BACKUP /s /m F_*.sql /d -30 /c "CMD /C del /Q /F @FILE"'
猜你喜欢
- 思想:4个数字的排列,加上3个运算符的排列,使用后缀表达式的表现如下:情形一:1,2,3,4,+,-,* => 24*24*4情形二:
- ExtJS可以用来开发RIA也即富客户端的AJAX应用,是一个用javascript写 的,主要用于创建前端用户界面,是一个与后台技术无关的
- Sitepoint有一个不错的针对Web开发者和设计者的参考手册网站,可以查询HTML、CSS和JavaScript的基本信息、兼容性和示例
- 这篇论坛文章主要介绍了SQL Server 2005数据库镜像的配置脚本,详细内容请大家参考下文:SQL Server 2005数据库镜像配
- a1="sp2=20;sp1=34;" a2="sp3=2;sp2=3;sp1=4;" 两组字符串数
- 呃,看到这个标题,我们可以首先将IE系浏览器无视了。我承认,我是有极简主义倾向的,我希望能够使用最少的代码和图片做更多的事情。虽然CSS3仅
- 虽然淘宝商城的名字中带有“商城”两字,但是很显然的,淘宝商城并不是一个B2C商城,淘宝商城仍只是一个C2C平台,充其量只是个收费版的淘宝。在
- 页面域关系:主页面a.html所属域A:www.aspxhome.com被iframe的页面b.html所属域B:www.cidianwan
- BLOG地址:http://www.planabc.net/article.asp?id=107学习标准的朋友,一般都会在学习的过程中接触到
- 什么是F型浏览?2006年4月,美国长期研究网站可用性的著名网站设计师杰柯柏·尼尔森(Jakob Nielsen)发表了一项《眼球轨迹的研究
- 本程序属于一种特别的方法。使用范围比较有限,而且有一定的危险性。借鉴了asp后门里的一些方法。由于读取某IP的网卡MAC地址本程序通过调用a
- 如何做一个专门显示文本文件的页面? 代码如下:txt.asp<html><head&g
- rs.open语句详细说明rs.Open [第一个参数],  
- var a = 0, b = 0;[0, 0].sort(function() {a = 1;return 0;});[0, 1].sort
- 很多互联网应用程序都提供了全文搜索功能,用户可以使用一个词或者词语片断作为查询项目来定位匹配的记录。在后台,这些程序使用在一个SELECT查
- MooTools 1.2的整理排序类Sortables原文地址:30 Days of Mootools 1.2 Tutorials - Da
- 如何在页面中对不同的数据进行相同的处理?selectId.asp' 列出所有客户的客户名称<html><
- 我们以用户查询语句为 https://www.aspxhome.com/chunfeng.asp为例来查询用户资料将从数据库Contact1
- 假设你的变量叫做 MyArray,我们可作如下处理:Dim strDim strDelimiterstrDelimite
- AddHeaderAddHeader 方法用指定的值添加 HTML 标题。该方法常常向响应添加新的 HTTP 标题。它并不替代现有的同名标题