我确定我已经错过了一些明显的东西,但是已经有一段时间了,因为我需要使用PowerShell(n.b。它是第2版)。
我需要一个基本脚本,该脚本可以删除超过一定期限(3天)的文件。我有以下内容:
$logDirectory = "C:\logs\"
$days = (Get-Date).AddDays(-3)
# Delete files older than the $days
Get-ChildItem -Path $logDirectory -Recurse |
Where-Object { !$_.PSIsContainer -and $_.LastWriteTime -lt $days } |
%{Write-Host File Found: $_.fullname $_.LastWriteTime}
Get-ChildItem -Path $logDirectory -Recurse |
Where-Object { !$_.PSIsContainer -and $_.LastWriteTime -lt $days } |
Remove-Item -Force
这可行,但是如果我将两者结合起来就行不通了。而且我敢肯定,一定有一种更整洁的方法来执行此操作,在该操作中,我可以写出文件列表,然后将其删除。像这样:
Get-ChildItem -Path $logDirectory -Recurse |
Where-Object { !$_.PSIsContainer -and $_.LastWriteTime -lt $days } |
%{Write-Host File Found: $_.fullname $_.LastWriteTime} |
Remove-Item -Force
但这只是列出项目,而不是删除项目。