PowerShell N日経過したファイルを削除
システムログなどで毎日ファイルが作成され、知らないうちに容量がいっぱいになることがあると思います。
log20231101.csv
log20231102.csv
log20231103.csv
log20231104.csv
log20231105.csv
...
(システム設計した奴、しばくぞ)
このような場合、古いログ、つまつN日経過したファイルを削除したいときの削除スクリプト
#7日経過
Get-ChildItem -Path "C:\test" -Recurse -File | `
where { $_.CreationTime -lt (Get-Date).AddDays(-7) } | Remove-Item -Force
#24時間経過
Get-ChildItem -Path "C:\test" -Recurse -File | `
where { $_.CreationTime -lt (Get-Date).AddHours(-24) } | Remove-Item -Force
#拡張子を指定する場合は-Filterをつける
Get-ChildItem -Path "C:\test\" -Recurse -File -Filter *.csv | `
where { $_.CreationTime -lt (Get-Date).AddHours(-24) } | Remove-Item -Force
#PowerShell #プログラミング学習 #プログラミング入門 #ファイル削除 #システムログ #ログ #Windows #IT