Get-ChildItem –Path 「H:\backups」 –Recurse | Where-Object{$_.CreationTime –lt (Get-Date).AddDays(-4)} | Remove-Item
我有這個腳本可以刪除超過4天的文件。不過,我想控制它應該刪除X數量的文件+文件夾4天,也想獲得日誌,以便我以後看到它。 以下是腳本,好嗎?刪除X個文件X舊日--Powershell
$Now = Get-Date
$Days = "4"
$TargetFolder = "H:\backups"
$LastWrite = $Now.AddDays(-$days)
$Files = get-childitem $TargetFolder -include *.* -recurse -force
Where {$_.CreationTime -le "$LastWrite"}
foreach ($i in Get-ChildItem $TargetFolder -recurse)
{
if ($i.CreationTime -lt ($(Get-Date).AddDays(-10)))
{
Remove-Item $Files -recurse -force
}
}
Write-Output $Files >> c:\delete.log
是它很好 - 你問它是否會起作用?您可以通過在測試目錄中使用測試文件測試腳本來找到自己的想法。 –
沒有工作你有嗎?如何在下面的腳本中獲取哪些文件被刪除的輸出。 Get-ChildItem -Path「H:\ backups」-Recurse | Where-Object {$ _。CreationTime -lt(Get-Date).AddDays(-4)} |刪除項目 – jacksh
在刪除文件之前輸出文件的名稱。 –