Windows定時刪除某天前文件的批處理腳本

blob.png
備註:
1.如XP下由於沒有forfiles.exe,拷貝windows2003下的forfiles.exe文件到XP的system32目錄便可使用forfiles命令。 
windows

2.該文檔適用於windows客戶端操做系統xp win7/8/10,windows服務器端操做系統 server 2003/2008/2012/2016。
3.若有錯漏,煩勞指出,謝謝!
服務器


blob.png

forfiles.exe及幫助
ide

描述:spa

    選擇一個文件(或一組文件)並在那個文件上執行一個命令。這有助於批處理做業。操作系統

語法:3d

forfiles /p <目標目錄名> /d <天數> /c <執行的命令> 日誌


1.看看列出的三個參數都有什麼用處:(簡單解析)
orm

/p  指定了要在哪一個目錄裏查找文件,默認是當前工做目錄。 server

/d  指定一個日期或天數,用於比較文件的最後修改日期是否符合條件。 blog

/c  對每一個找到的文件執行的命令。 


2.看看列出的三個參數都有什麼用處:(詳細解析)

/p <Path>     : 指定開始搜索文件的位置,若是不指定則默認爲當前目錄。 

/m <SearchMask> : 文件查找所使用的通配符如代碼中的"*.log"則爲全部日誌文件,固然也能夠指定諸如"manmee_*.log"這樣以manmee開頭的全部日誌文件。若是不指定此參數則默認爲"*.*"。 

/d [{+|-}][{<Date>|<Days>}] : 指定想選擇文件的最後修改時間,上文中用了 "/d -7" 表示全部以當天爲基礎,7天之前的文件。

固然這裏還能夠指定具體時間,例如:"/d -08/18/2009"這樣全部早於2009年8月18日的文件。注意指定的時間必須是"MM/DD/YYYY"的格式。 

/c 對全部文件以此執行指定的命令,命令體須在雙引號(")內,默認是"cmd /c echo @file"。上文中用到的是"cmd /c del /f @path"刪除指定文件。(這裏的@file 和 @path 爲變量,下文中將進行解釋。


====================例子說明========


例1.要把在C盤根目錄下最後修改日期大於或等於2007年7月1日的文件複製到D盤根目錄下: 

forfiles /p "c:\" /d "2007-7-1" /c "cmd /c copy @path d:\" 


例2.1 刪除在C盤backup目錄下最後修改日期在10天前的文件: 

forfiles /p "c:\backup" /d -10 /c "cmd /c echo deleting @file ... && del /f @path" 


例2.2 自動刪除D盤test目錄最後修改日期在7天前文件

forfiles /p "d:\test" /s /m *.* /d -7 /c "cmd /c del @path" 


例2.3 刪除當前目錄下28天之前的擴展名爲bkf文件(以當前系統時間爲基準)  

forfiles /m *.bkf /d -28 /c "cmd /c del @file /f" 


刪除文件的語法解析
forefiles /p /m -d /c

forfiles /p 包含要刪除文件的完整路徑(如:F:\Logfiles) /m *.log -d -7 /c "cmd /c del /f @path" 


解釋一下相關參數及命令 

@PATH : 表示文件的完整的路徑。 

@File : 表示文件名稱。 


==========案例操做==========


1.刪除全部的空目錄(以刪除d:\test目錄下爲例) 

dir /ad/b/s d:\test\ |sort /r >d:\kill.txt 

For /f "tokens=*" %%i in (d:\kill.txt) DO rd "%%i" 

del d:\kill.txt 


2.自動刪除7天前文件和目錄

{建一個bat文件的快捷方式在啓動,d:\test換成你要的目錄路徑。日期是指修改的日期。 }

原理:先刪過時文件,再刪全部的空目錄,這纔是一個完整的刪除過程 

@echo off 

forfiles /p "d:\test" /s /m *.* /d -7 /c "cmd /c del @path" 

dir /ad/b/s d:\test\ |sort /r >d:\kill.txt 

For /f "tokens=*" %%i in (d:\kill.txt) DO rd "%%i" 

del d:\kill.txt 


blob.png

相關文章
相關標籤/搜索