您好,登錄后才能下訂單哦!
小編給大家分享一下windows如何實現刪除文件的批處理操作,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
1. 用批處理文件刪除當前目錄下 7 天以前的擴展名為bkf文件(以當前系統時間為基準)
示例: forfiles /m *.bkf /d -7 /c "cmd /c del @file /f"
2. forfiles 自動刪除7天前文件 (以當前系統時間為基準)
示例: forfiles /p "d:/test" /s /m *.* /d -7 /c "cmd /c del @path"
d:/test換成你要的目錄路徑; /d -7 指刪除7天以前文件。
3. 刪除所有的空目錄(以刪除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
4. 先刪7 天以前文件,再刪所有的空目錄 ;把以下復制到bat文件中。
@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
5. forfiles 命令的用法及參數:
forfiles /p <目標目錄名> /d <天數> /c <執行的命令>
/p 指定了要在哪個目錄里查找文件,默認是當前工作目錄。
/d 指定一個日期或天數,用于比較文件的最后修改日期是否符合條件。
/c 對每個找到的文件執行的命令。
例1.要把在C盤根目錄下最后修改日期大于或等于2010年1月7日的文件復制到D盤根目錄下:
forfiles /p "c:/" /d "2007-7-1" /c "cmd /c copy @path d:/"
例2.刪除在C盤backup目錄下最后修改日期在10天前的文件:
forfiles /p "c:/backup" /d -10 /c "cmd /c echo deleting @file ... && del /f @path"
6. forfiles /p 包含要刪除文件的完整路徑(如:F:/Logfiles) /m *.log -d -7 /c "cmd /c del /f
@path"
解釋一下相關參數及命令
/p : 指定開始搜索文件的位置,如果不指定則默認為當前目錄。
/m : 文件查找所使用的通配符如代碼中的"*.log"則為所有日志文件,當然也可以指定諸
如"manmee_*.log"這樣以manmee開頭的所有日志文件。如果不指定此參數則默認為"*.*"。
/d [{+|-}][{|}] : 指定想選擇文件的最后修改時間,上文中用了 "/d -7" 表示所有以當
天為基礎,7天以前的文件。當然這里還可以指定具體時間,例如:"/d -01/7/2010"這樣所有早于2010年
1月7日的文件。注意指定的時間必須是"MM/DD/YYYY"的格式。
/c 對所有文件以此執行指定的命令,命令體須在雙引號(")內,默認是"cmd /c echo @file"。上文中用
到的是"cmd /c del /f @path"刪除指定文件。(這里的@file 和 @path 為變量,下文中將解釋。)
下面說一下上文中用到的參數:
@PATH : 表示文件的完整的路徑。
@File : 表示文件名稱。
看完了這篇文章,相信你對“windows如何實現刪除文件的批處理操作”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。