主頁(yè) > 知識(shí)庫(kù) > 使用FORFILES命令來(lái)刪除SQLServer備份的批處理

使用FORFILES命令來(lái)刪除SQLServer備份的批處理

熱門(mén)標(biāo)簽:重慶防封電銷(xiāo)機(jī)器人供應(yīng)商 西安青牛防封電銷(xiāo)卡 溫州語(yǔ)音外呼系統(tǒng)代理 威海智能語(yǔ)音外呼系統(tǒng) 智能語(yǔ)音外呼系統(tǒng)哪個(gè)牌子好 南京電銷(xiāo)外呼系統(tǒng)運(yùn)營(yíng)商 北京辦理400電話多少 400電話申請(qǐng)需要開(kāi)戶費(fèi)嗎 山西語(yǔ)音外呼系統(tǒng)價(jià)格
雖然有很多種方式可以解決這個(gè)問(wèn)題,但是我們可以用T-SQL代碼來(lái)處理這個(gè)文件刪除過(guò)程。我用xp_cmdshell命令和FORFILES命令來(lái)處理類(lèi)似于你所列出的過(guò)程??梢詮腗icrosoft TechNet中獲得FORFILES的可靠信息,但是在這篇文章中,我將涉及FORFILES大量的結(jié)構(gòu)和使用方法來(lái)達(dá)到你的目的。

  該FORFILES命令將選取文件的一個(gè)子集并且針對(duì)這個(gè)子集執(zhí)行一個(gè)命令。這個(gè)命令需要下面的參數(shù)和接受下面的變量。

  參數(shù)

參數(shù)名 描述
/p 路徑
/m 檢索屏蔽 (默認(rèn)情況下是 *.*)
/s 如果包含這個(gè)參數(shù),那么子目錄將會(huì)被遞歸地檢索。
/c command> 針對(duì)結(jié)果集中的每一個(gè)文件執(zhí)行命令,命令必須包含在雙引號(hào)中,默認(rèn)情況是"cmd c/ echo @file"
/d 針對(duì)文件選擇的日期范圍,把最新的更改日期當(dāng)作文件標(biāo)準(zhǔn)。當(dāng)/d參數(shù)是MM/DD/YYYY格式時(shí),滿足指定的+/-日期標(biāo)準(zhǔn)的文件也包含在內(nèi)。當(dāng)文件格式是smallint (-32,768 - 32,768)文件+/-文件并且?guī)е粋€(gè)更改日期+/-時(shí),從當(dāng)前日期到該日期的時(shí)間數(shù)目將會(huì)包含在這個(gè)文件結(jié)果集中。

  變量

變量名 描述
@FILE 文件名
@FNAME 無(wú)擴(kuò)展的文件名
@EXT 文件擴(kuò)展名
@PATH 文件絕對(duì)路經(jīng)
@RELPATH 文件的相對(duì)路徑
@ISDIR 如果文件類(lèi)型是一個(gè)目錄,那么判斷是否是TRUE
@FSIZE 文件大?。ㄓ米止?jié)衡量)
@FDATE 文件上的最新更改日期郵戳
@FTIME 文件上的最新更改時(shí)間郵戳

  利用這些參數(shù)可以構(gòu)造下面的例子來(lái)解決你刪除備份腳本文件的難題。你可以基于更改時(shí)間/日期或者備份類(lèi)型來(lái)創(chuàng)建腳本。你甚至可以構(gòu)造能夠同時(shí)參照兩種標(biāo)準(zhǔn)的腳本。

  我們將仔細(xì)看看這些可能的腳本。記住,你將從T-SQL代碼內(nèi)部執(zhí)行這個(gè)過(guò)程,所以你需要在一個(gè)xp_cmdshell訪問(wèn)中以EXEC xp_cmdshell 'FORFILES COMMAND'的格式總結(jié)這些語(yǔ)句。請(qǐng)注意,在所有的例子中我都會(huì)使用/Q 和 /F標(biāo)簽來(lái)作為刪除命令。這意味著這個(gè)命令將使用安靜模式(/Q)甚至刪除只能讀的文件(/F)。

  例子

  當(dāng)文件更改日期晚于10/18/2008時(shí),刪除所有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天時(shí),刪除所有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_"打頭時(shí),刪除所有C:Backup目錄和它的子目錄下的.sql文件。

  EXEC xp_cmdshell 'FORFILES /p c:BACKUP /s /m F_*.sql /d -30 /c "CMD /C del /Q /F @FILE"'

您可能感興趣的文章:
  • Forfiles 微軟官方介紹
  • cmd forfiles 從文件夾或樹(shù)中選擇要進(jìn)行批處理的文件(方便批量刪除n天前的文件)

標(biāo)簽:濟(jì)寧 宜春 貸款群呼 河源 金昌 黃山 中衛(wèi) 新余

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《使用FORFILES命令來(lái)刪除SQLServer備份的批處理》,本文關(guān)鍵詞  使用,FORFILES,命令,來(lái),刪除,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《使用FORFILES命令來(lái)刪除SQLServer備份的批處理》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于使用FORFILES命令來(lái)刪除SQLServer備份的批處理的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章