[DOS]刪除N天前修改的檔案

[DOS]刪除N天前修改的檔案

紀錄一下過程

問題描述

磁碟機空間不夠用,需要清出磁碟空間

3

解決方式

經分析後將不用的暫存檔案砍掉

暫存檔案分散在固定目錄的子資料夾底下

決定將建立修改日期早於一年的資料檔刪除

實作步驟

寫一隻排程去定期刪除檔案(早於一年份的資料)

原始批次檔如下


rem   iniPath1:上版檔案的位置1
set  iniPath1=E:\Portal\上版資料區

attrib -R %iniPath1%\*.* /S /D
forfiles /p "%iniPath1%" /s /d -365 /c "cmd /c del /q @path"

發現隱藏及系統檔案無法處理

1

2

調整批次檔[在 attrib加入-S(去除系統)及-H(去除隱藏)]如下


rem   iniPath1:上版檔案的位置1
set  iniPath1=E:\Portal\上版資料區

attrib -S -H -R  %iniPath1%\*.* /S /D
forfiles /p "%iniPath1%" /s /d -365 /c "cmd /c del /q @path"

結果畫面

很成功

4

參考資料

使用forfiles列出檔案資訊

MS-DOS 錯誤訊息: 未重新設定 System|隱藏的檔案

windows:使用forfiles自动批量删除过期文件