定期刪除windows指定目錄下的超過指定天數的文件,可以使用bat文件加入到任務計划程序中。
forfiles /p "d:/test" /s /m *.bak /d -7 /c "cmd /c del @path"
刪除d:/test下超過7天的所有文件,包括目錄,bat內容如下
forfiles /p "d:/test" /s /m . /d -7 /c "cmd /c del @path"
使用del是直接刪除,不是到回收站。希望移動到回收站或者其他目錄,可以使用move。
forfiles [/p Path] [/m SearchMask] [/s] [/c Command] [/d[{+ | -}] [{MM/DD/YYYY | DD}]]
參數 /p Path 指定 Path,表明要從哪里開始搜索。默認的文件夾是當前工作目錄,該目錄通過鍵入句號 (.) 指定。 注:絕對路徑應該包含在雙引號中,且路徑應該由反斜杠分割:example:"D:\HOME\Desktop\62backup"
/m SearchMask 按照 SearchMask 搜索文件。默認的 SearchMask 是 .。
例如:我們想搜索rar文件 可以寫為 /m *.rar
/s 指示 forfiles 在子目錄中搜索。
如果不加此參數,只操作制定目錄下這一級,反之制定目錄下所有層級目錄中的文件都會被操作
/c Command 在每個文件上運行指定的 Command。帶有空格的命令字符串必須用引號括起來。默認的 Command 是 "cmd /c echo @file"。
/d[{+ | -}] [{MM/DD/YYYY | DD}] 選擇日期大於或等於 (+)(或者小於或等於 (-))指定日期的文件,其中 MM/DD/YYYY 是指定的日期,DD 是當前日期減去 DD 天。如果未指定 + 或-,則使用 +。DD 的有效范圍是 0 - 32768。
/? 在命令提示符下顯示幫助。
注釋 Forfiles 最常用於批處理文件中。 Forfiles /s 與 dir /s 類似。 下表列出了在 /c Command 命令字符串中能夠使用的變量。 變量 描述 @file 文件名 @fname 無擴展名的文件名 @ext 文件擴展名 @path 文件的完整路徑 @relpath 文件的相對路徑 @isdir 如果文件類型是目錄,值為 TRUE,否則值為 FALSE @fsize 用字節表示的文件大小 @fdate 文件中上次修改的日期戳 @ftime 文件中上次修改的時間戳
將bat加入到任務計划程序中
開始-->所有程序-->附件-->系統工具-->任務計划程序
任務計划程序(本地)-->任務接話程序庫-->創建基本任務-->