x日より古いファイルを削除しようとしましたが、削除されているファイルを知りたいと思います。それは削除するファイル名をPowershellを使用して出力csvファイルにリダイレクトできませんでした
$limit = (Get-Date).AddDays(-365)
$path = $args[0]
# Delete files older than the $limit.
Get-ChildItem -Path $path -Recurse -Force | Where-Object { !$_.PSIsContainer -and $_.CreationTime -lt $limit } | Remove-Item -Force | select Name,LastWriteTime | Export-CSV -NoTypeInformation -Path $args[1]
仕事doesntの、PowerShellスクリプトの下に使用しています
は、ファイルが存在するパスとして最初の引数を渡しています。 2番目の引数は、ファイルを含むべき出力ファイルであり、削除されるものの日付変更された値です。
上記のコードは削除には問題ありませんが、削除されたファイル名と最後に変更された値はリダイレクトされません。
以下のコードを使用すると、ファイル名と最終変更値のみがリダイレクトされますが、ファイルは削除されません。
Get-ChildItem -Path $path -Recurse -Force | Where-Object { !$_.PSIsContainer -and $_.CreationTime -lt $limit } | select Name,LastWriteTime | Export-CSV -NoTypeInformation -Path $args[1] | Remove-Item -Force
それを実行するためのコマンドの下に使用して -
./OlderFiles_Cleansing.ps1 'C:\Dev\PS' 'C:\dev\CleanedFiles_01062016.csv'
私は何をしないのですか?
ありがとうございますHonzajscz! –