En utilisant Powershell v2.0, je souhaite supprimer tous les fichiers antérieurs à X jours:
$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;
}
Cependant, lorsque $ backups est vide, j'obtiens: Remove-Item : Cannot bind argument to parameter 'Path' because it is null.
J'ai essayé:
- Protéger le foreach avec
if (!$backups)
- Protection de l'élément supprimé avec
if (Test-Path $file -PathType Leaf)
- Protection de l'élément supprimé avec
if ([IO.File]::Exists($file.FullName) -ne $true)
Rien de tout cela ne semble fonctionner, et si la méthode recommandée pour empêcher l'entrée d'une boucle foreach si la liste était vide?