Powershell v2.0을 사용하여 X 일보다 오래된 파일을 삭제하고 싶습니다.
$backups = Get-ChildItem -Path $Backuppath |
Where-Object {($_.lastwritetime -lt (Get-Date).addDays(-$DaysKeep)) -and (-not $_.PSIsContainer) -and ($_.Name -like "backup*")}
foreach ($file in $backups)
{
Remove-Item $file.FullName;
}
그러나 $ backups가 비어 있으면 다음을 얻습니다. Remove-Item : Cannot bind argument to parameter 'Path' because it is null.
난 노력 했어:
- 와 foreach를 보호
if (!$backups)
- 제거 항목 보호
if (Test-Path $file -PathType Leaf)
- 제거 항목 보호
if ([IO.File]::Exists($file.FullName) -ne $true)
이들 중 어느 것도 작동하지 않는 것 같습니다. 목록이 비어있는 경우 foreach 루프가 입력되지 않도록 권장하는 방법은 무엇입니까?