刪除多天以前的檔案批處理命令

2021-07-10 21:22:32 字數 887 閱讀 8187

前兩天專案支援的系統(ams prod dd)p盤快滿了。找到原因是清理舊檔案的housekeeping job配置不正確,很多老檔案沒有被清理。因為磁碟空間一旦填滿整個程式就掛了,需要馬上加磁碟或者清理空間。

嘗試用ps來查詢一段時間以前的檔案再移到另外的資料夾裡去,但是因為剩餘空間小執行的效果不好。robocopy在本機工作正常,在伺服器上也不工作(robocopy /maxage:

8 p:\sharedata\

d:\temp\sharedata)

諮詢了開發同事之後我們準備直接刪除,用了下面的命令,可以在不用確認的情況下刪除60天以前的檔案,並且顯示刪除的檔案

forfiles /p"[target folder]" /d -60 /c"cmd /c echo deleting @file ... && del /q /f @path"

ps script: 產生乙個c:\temp下的txt檔案,內容是把2016/1/1~2016/2/1之間的檔案移到d:\temp下,把檔案重新命名成*.bat可以直接處理。

但是這個方法在磁碟空間不足的情況下效果不好。

$dt = get-date -format "yyyymmddthhmmss"

$stream = [system.io.streamwriter] "c:\temp\p_$dt.txt"

if (!$stream.basestream)

$o = get-childitem -path "c:\temp" -recurse | select-object -property fullname, lastwritetime | where-object `

foreach ($a in $o)

if ($stream.basestream)

$stream = $null

bat檔案(批處理檔案),批處理命令!!!

批處理 batch 也稱為批處理指令碼。顧名思義,批處理就是對某物件進行批量的處理,通常被認為是一種簡化的指令碼語言,它應用於dos和windows系統中。批處理是由dos或者windows系統內嵌的命令直譯器 通常是command.com或者cmd.exe 解釋執行。類似於unix系統中的shel...

windows刪除幾天前檔案的批處理命令

forfiles p 檔案所在目錄 d 設定天數 c cmd c echo deleting file del f path forfiles p 檔案所在目錄 s m 檔名 d 設定天數 c cmd c echo deleting file del f path 這樣要是子目錄也有你要刪除的檔案,...

DOS命令刪除N天以前的檔案

forfiles p pathname m searchmask s c command d 描述 選擇乙個檔案 或一組檔案 並在那個檔案上 執行乙個命令。這有助於批處理作業。引數列表 p pathname 表示開始搜尋的路徑。預設資料夾是當前工作的目錄 m searchmask 根據搜尋掩碼搜尋檔...