使用FORFILES命令來刪除SQLServer備份的批處理
該FORFILES命令將選取文件的一個子集并且針對這個子集執(zhí)行一個命令。這個命令需要下面的參數(shù)和接受下面的變量。
參數(shù)
| 參數(shù)名 | 描述 |
| /p | 路徑 |
| /m | 檢索屏蔽 (默認(rèn)情況下是 *.*) |
| /s | 如果包含這個參數(shù),那么子目錄將會被遞歸地檢索。 |
| /c <command> | 針對結(jié)果集中的每一個文件執(zhí)行命令,命令必須包含在雙引號中,默認(rèn)情況是"cmd c/ echo @file" |
| /d | 針對文件選擇的日期范圍,把最新的更改日期當(dāng)作文件標(biāo)準(zhǔn)。當(dāng)/d參數(shù)是MM/DD/YYYY格式時,滿足指定的+/-日期標(biāo)準(zhǔn)的文件也包含在內(nèi)。當(dāng)文件格式是smallint (-32,768 - 32,768)文件+/-文件并且?guī)е粋€更改日期+/-時,從當(dāng)前日期到該日期的時間數(shù)目將會包含在這個文件結(jié)果集中。 |
變量
| 變量名 | 描述 |
| @FILE | 文件名 |
| @FNAME | 無擴(kuò)展的文件名 |
| @EXT | 文件擴(kuò)展名 |
| @PATH | 文件絕對路經(jīng) |
| @RELPATH | 文件的相對路徑 |
| @ISDIR | 如果文件類型是一個目錄,那么判斷是否是TRUE |
| @FSIZE | 文件大?。ㄓ米止?jié)衡量) |
| @FDATE | 文件上的最新更改日期郵戳 |
| @FTIME | 文件上的最新更改時間郵戳 |
利用這些參數(shù)可以構(gòu)造下面的例子來解決你刪除備份腳本文件的難題。你可以基于更改時間/日期或者備份類型來創(chuàng)建腳本。你甚至可以構(gòu)造能夠同時參照兩種標(biāo)準(zhǔn)的腳本。
我們將仔細(xì)看看這些可能的腳本。記住,你將從T-SQL代碼內(nèi)部執(zhí)行這個過程,所以你需要在一個xp_cmdshell訪問中以EXEC xp_cmdshell 'FORFILES COMMAND'的格式總結(jié)這些語句。請注意,在所有的例子中我都會使用/Q 和 /F標(biāo)簽來作為刪除命令。這意味著這個命令將使用安靜模式(/Q)甚至刪除只能讀的文件(/F)。
例子
當(dāng)文件更改日期晚于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"'
當(dāng)文件更改日期多于30天時,刪除所有C:Backup目錄和它的子目錄下的.sql文件。
EXEC xp_cmdshell 'FORFILES /p c:BACKUP /s /m *.sql /d -30 /c "CMD /C del /Q /F @FILE"'
當(dāng)文件更改日期多于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"'
相關(guān)文章
java連接mysql數(shù)據(jù)庫 java連接sql server數(shù)據(jù)庫
這篇文章主要為大家詳細(xì)介紹了java連接mysql數(shù)據(jù)庫,以及java連接sql server數(shù)據(jù)庫,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-02-02
解析SQL Server中SQL日期轉(zhuǎn)換出錯的原因
這篇文章主要介紹了SQL Server中日期轉(zhuǎn)換出錯的原因,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2020-01-01
sqlserver通用的刪除服務(wù)器上的所有相同后綴的臨時表
因為項目需要,必須使用大量臨時表,因此編寫批量刪除臨時表的通用語句2012-05-05
sqlserver禁止management studio的自動提交事務(wù)
默認(rèn)management studio是自動提交事務(wù),即一個語句就一個事務(wù),那么如何禁止其自動提交呢?下面有個不錯的方法,大家可以參考下2014-06-06
sql server中通過查詢分析器實現(xiàn)數(shù)據(jù)庫的備份與恢復(fù)方法分享
sql server中通過查詢分析器實現(xiàn)數(shù)據(jù)庫的備份與恢復(fù)方法分享,需要備份或還原數(shù)據(jù)庫的朋友可以參考下2012-05-05

