我有一个Powershell脚本,应该删除X天以前的项目。它没有完全奏效。它删除了一些文件,但没有删除所有文件。当我在没有| Remove-Item -Force
的情况下运行脚本时,将显示满足要求的所有文件。所以,我知道where
语句有效。
为什么Remove-Item -Force
没有删除符合要求的所有项目where
语句,以及如何修复?
$deleteFiles = Get-Childitem $fullTargetPath -Recurse
| Where {$_.LastWriteTime -lt (Get-Date).AddDays(-10)} | Remove-Item -Force
答案 0 :(得分:1)
在“删除项目”之前添加“Foreach”。
例如:
$deleteFiles = Get-Childitem $fullTargetPath -Recurse |
Where {$_.LastWriteTime -lt (Get-Date).AddDays(-10)} |
Foreach { Remove-Item $_.FullName -Force}