腳本搜索所有文件夾和子文件夾,並在文件數大於5時刪除最舊的文件。一切工作正常,但我也想記錄所有的刪除文件記錄在一個日誌文件。Powershell日誌刪除文件
如何記錄已刪除的文件?
這裏的腳本。
$path = "C:\test\1"
$keep = 3
$strLogFileName = "c:\test\yourlogfile.log";
$dirs = Get-ChildItem -Path $path -Recurse | Where-Object {$_.PsIsContainer}
foreach ($dir in $dirs) {
$files = Get-ChildItem -Path $dir.FullName | Where-Object {-not $_.PsIsContainer -and $_.name -like "*.zip"}
if ($files.Count -gt $keep) {
$files | Sort-Object CreationTime -desc| Select-Object -First ($files.Count - $keep) | Remove-Item -Force
***{write-host 「Deleting File $File」 -foregroundcolor 「Red」; Remove-Item $File | out-null}***
}
}
O.k看起來很完美,但你能告訴我如何添加日期時間爲每個文件的刪除文件進入日誌? – zero1de
檢查我更新的答案。我還添加了日期。 – Mitul
你真的是PowerShell的神:)最後一個問題,我怎樣才能刪除最舊的文件而不是最新的?許多thx爲您的幫助 – zero1de