晴耕雨読

working in the fields on fine days and reading books on rainy days

PowerShellでN日経過したファイルを削除する

PowerShellで最後の書き込みからN日経過したファイルを削除するには、Get-ChildItem コマンドと .LastWriteTime プロパティと日付計算 (Get-Date や .AddDays など) を組み合わせることで削除できます。

例えば、特定のフォルダ以下にある全ファイルについて、30日以上経過したファイルを削除するには、以下の PowerShell を実行します。

Get-ChildItem -Path "C:\workspace" -Recurse -File | `
  where { $_.LastWriteTime -lt (Get-Date).AddDays(-30) } | Remove-Item -Force

以上です。