bat如何使用forfiles自動(dòng)批量刪除過期文件-創(chuàng)新互聯(lián)

這篇文章主要介紹bat如何使用forfiles自動(dòng)批量刪除過期文件,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

成都創(chuàng)新互聯(lián)公司主要從事網(wǎng)站建設(shè)、做網(wǎng)站、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)商都,10余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792

ftp服務(wù)器用于保存?zhèn)浞菸募且膊恍枰刻斓臄?shù)據(jù)都留著,于是乎為了考慮節(jié)省硬盤空間,就必須刪除一些老文件,只要保存最近一周或者一個(gè)月的就可以了
windows自帶了一個(gè)批量刪除的程序,叫做forfiles,XP里貌似沒有,博文最下面附件可以下載
首先說一下我的應(yīng)用吧,ftp服務(wù)器端每天備份數(shù)據(jù)文件后,只想保存最近兩周的文件
編寫一個(gè)bat文件,內(nèi)容如下
寫道

@echo off
rem write to log
set filename=deletefile.log
echo -------------------Delete Expired Log Files------------------------- >>%filename%
echo Start >>%filename%
echo (%date% %time%) >>%filename%
echo Delete the expired log files in 目標(biāo)目錄路徑1, Please wait... >>%filename%
forfiles.exe /p "D:\Kugou" /m *.tar /d -14 /c "cmd /c del @path"
echo End >>%filename%
echo (%date% %time%) >>%filename%

關(guān)鍵命令就這一條了:forfiles.exe /p "D:\Kugou" /m *.tar /d -14 /c "cmd /c del @path"
這條命令的意思就是,搜索D:/Kugou目錄下的任意后綴名為tar的文件,查看其日期屬性是否為14天之前的(-14表示之前,+14表示之后),然后執(zhí)行刪除命令
一開始一直在糾結(jié)這日期格式是怎么弄的,是不是forfiles是通過匹配文件名來刪除的,結(jié)果一直在改文件名的日期顯示格式,后來才發(fā)現(xiàn)偶智商如此低下,人家forfiles是windows自帶的,尼瑪明顯能夠智能的匹配文件日期屬性啊。
所以說,只要這個(gè)文件的日期屬性是14天之前的,就會(huì)被上述腳本刪除。 
然后在添加任務(wù)計(jì)劃。。。  
下面帖一下forfiles的參數(shù)用法 
Forfiles
從文件夾或樹中選擇要進(jìn)行批處理的文件。 
語法
forfiles [/p Path ] [/m SearchMask ] [/s ] [/c Command ] [/d [{+ | - }] [{MM / DD / YYYY | DD }]] 
參數(shù)
/p Path 
指定Path ,表明要從哪里開始搜索。默認(rèn)的文件夾是當(dāng)前工作目錄,該目錄通過鍵入句號(hào)(.) 指定。 
/m SearchMask 
按照SearchMask 搜索文件。默認(rèn)的SearchMask 是*.* 。 
/s 
指示forfiles 在子目錄中搜索。 
/c Command 
在每個(gè)文件上運(yùn)行指定的Command 。帶有空格的命令字符串必須用引號(hào)括起來。默認(rèn)的Command 是"cmd /c echo @file" 。 
/d [{+ | - }] [{MM / DD / YYYY | DD }] 
選擇日期大于或等于(+ )(或者小于或等于(- ))指定日期的文件,其中MM / DD / YYYY 是指定的日期,DD 是當(dāng)前日期減去DD 天。如果未指定+ 或- ,則使用+ 。DD 的有效范圍是0 - 32768。 
/? 
在命令提示符下顯示幫助。
注釋 
?  Forfiles 最常用于批處理文件中。
?  Forfiles /s 與dir /s 類似。
?  下表列出了可在/c Command 命令字符串中使用的變量。 
變量  描述
@file
 文件名
@fname
 無擴(kuò)展名的文件名 
@ext
 文件擴(kuò)展名
@path
 文件的完整路徑
@relpath
 文件的相對(duì)路徑
@isdir
 如果文件類型是目錄,則計(jì)算值為TRUE,否則值為FALSE
@fsize
 用字節(jié)表示的文件大小
@fdate
 文件中上次修改的日期戳
@ftime
 文件中上次修改的時(shí)間戳
?  使用forfiles ,可以在多個(gè)文件上運(yùn)行命令或?qū)?shù)傳遞給多個(gè)文件。例如,可以在樹中帶有*.txt 擴(kuò)展名的所有文件上運(yùn)行TYPE 命令?;蛘?,可以用文件名“Myinput.txt”作為第一個(gè)參數(shù),在C:/ 驅(qū)動(dòng)器上執(zhí)行每個(gè)批處理文件(*.bat)。
?  通過使用forfiles ,可以執(zhí)行下列任何操作: 
?  使用/d 按照絕對(duì)或相對(duì)日期選擇文件。
?  使用諸如@fsize(文件大?。┖虭fdate(文件日期)這樣的變量構(gòu)建文件的存檔樹。 
?  使用@isdir 變量區(qū)分文件和目錄。
?  通過在命令行中包含特殊字符和使用十六進(jìn)制代碼0x HH 環(huán)繞字符來格式化輸出內(nèi)容。
?  Forfiles 通過在旨在僅處理單個(gè)文件的工具上執(zhí)行“循環(huán)子目錄”標(biāo)記來發(fā)揮作用。
示例
要列出驅(qū)動(dòng)器C: 上的所有批處理文件,請(qǐng)鍵入:
forfiles /p c:/ /s /m*.bat /c"cmd /c echo @file is a batch file" 
要列出驅(qū)動(dòng)器C: 上的所有目錄,請(qǐng)鍵入: 
forfiles /p c:/ /s /m*.* /c"cmd /c if @isdir==true echo @file is a directory"
要列出驅(qū)動(dòng)器C: 上存在時(shí)間多于100 天的所有文件,請(qǐng)鍵入:
forfiles /p c:/ /s /m*.* /dt-100 /c"cmd /c echo @file :date >= 100 days"
要列出驅(qū)動(dòng)器C: 上1993 年1 月1 日以前創(chuàng)建的所有文件,而且對(duì)于日期早于1993 年1 月1 日的文件顯示“file is quite old!”,請(qǐng)鍵入:
forfiles /p c:/ /s /m*.* /dt-01011993 /c"cmd /c echo @file is quite old!"
要按列格式列出驅(qū)動(dòng)器C: 上所有文件的擴(kuò)展名,請(qǐng)鍵入:
forfiles /p c:/ /s /m*.* /c "cmd /c echo extension of @file is 0x09@ext0x09" With:
要列出驅(qū)動(dòng)器C: 上的所有批處理文件,請(qǐng)鍵入:
forfiles /p c:/ /s /m *.bat /c "cmd /c echo @file is a batch file"
要列出驅(qū)動(dòng)器C: 上的所有目錄,請(qǐng)鍵入:
forfiles /p c:/ /s /m *.* /c "cmd /c if @isdir==true echo @file is a directory"
要列出驅(qū)動(dòng)器C: 上存在時(shí)間多于100 天的所有文件,請(qǐng)鍵入: 
forfiles /p c:/ /s /m *.* /d t-100 /c "cmd /c echo @file :date >= 100 days"
要列出驅(qū)動(dòng)器C: 上1993 年1 月1 日以前創(chuàng)建的所有文件,而且對(duì)于日期早于1993 年1 月1 日的文件顯示“file is quite old!”,請(qǐng)鍵入:
forfiles /p c:/ /s /m *.* /d t-01011993 /c "cmd /c echo @file is quite old!"
要按列格式列出驅(qū)動(dòng)器C: 上所有文件的擴(kuò)展名,請(qǐng)鍵入:
forfiles /p c:/ /s /m*.* /c "cmd /c echo extension of @file is 0x09@ext0x09"

以上是“bat如何使用forfiles自動(dòng)批量刪除過期文件”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

本文名稱:bat如何使用forfiles自動(dòng)批量刪除過期文件-創(chuàng)新互聯(lián)
文章出自:http://muchs.cn/article18/pdegp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、云服務(wù)器、網(wǎng)站維護(hù)、用戶體驗(yàn)、App設(shè)計(jì)、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化