見出し画像

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

この記事が気に入ったらサポートをしてみませんか?