介紹
forfiles是windows自帶的一個批量刪除命令,對於時間的判斷是通過檔案自身的修改日期屬性進行判斷,使用它來對歷史檔案進行判斷刪除是個不錯的選擇。
語法
forfiles [/p Path ] [/m SearchMask ] [/s ] [/c Command ] [/d [{+ | - }] [{MM / DD / YYYY | DD }]]
[/p Path ]:指定路徑,當然目錄可以用“.” [/m SearchMask ]:搜尋方式,預設是*.* [/s ]:遍歷子目錄進行搜尋,包括當前目錄 [/d [{+ | - }] [{MM / DD / YYYY | DD }]]:選擇日期大於或等於(+ )(或者小於或等於(- ))指定日期的檔案,預設+ 其中MM / DD / YYYY 是指定的日期,DD 是當前日期減去DD 天,預設是DD 。DD 的有效範圍是0 - 32768 例如: /d -15:查詢15天之前的檔案 /d 2016/12/9:指定查詢的檔案日期為2016/12/9 [/c Command ]:指定要執行的命令,格式為[ /c "cmd /c rd /s/q @path" ];雙引號裡面的/c後接需要執行的命令。 變數: @file 顯示檔名 @fname 顯示無副檔名的檔名 @ext 顯示副檔名 @path 顯示檔案的完整路徑 @relpath 檔案的相對路徑 @isdir 如果檔案型別是目錄,則計算值為TRUE,否則值為FALSE @fsize 顯示用位元組表示的檔案大小 @fdate 顯示檔案中上次修改的日期戳 @ftime 顯示檔案中上次修改的時間戳
示例
1.檢視“d:\backup\data”目錄下名稱包含“--”,且修改時間大於15天的檔案或者資料夾
forfiles.exe /p d:\backup\data /m *-*-* /d -15 /c "cmd /c echo @path"
2.刪除,/s/q(/s資料夾下存在檔案也刪除,/q強制刪除不提示)
forfiles.exe /p d:\backup\data /m *-*-* /d -15 /c "cmd /c rd /s/q @path"
備註:路徑不支援"\\url\"這種共享路徑,rd(刪除資料夾),del(刪除檔案)
總結
備註: 作者:pursuer.chen 部落格:http://www.cnblogs.com/chenmh 本站點所有隨筆都是原創,歡迎大家轉載;但轉載時必須註明文章來源,且在文章開頭明顯處給明連結。 《歡迎交流討論》 |