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;
}
हालांकि, जब $ बैकअप खाली होता है तो मुझे मिलता है: 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)
इनमें से कोई भी काम नहीं करता है, अगर सूची खाली है तो फ़ॉरच लूप को दर्ज करने से रोकने का अनुशंसित तरीका क्या होगा?