Petit mémo pour purger via un une commande PowerSHELL des fichiers et répertoires datant de plus de X jours.
Commande :
> Get-ChildItem "EMPLACEMENT_FICHIERS" -Recurse | Where CreationTime -lt (Get-Date).AddDays(-X) | Remove-Item -Force -Recurse
EMPLACEMENT_FICHIERS = Emplacement à purger
X = Filtre correspondant au nombre de jours à conserver
Exemple :
Pour purger le répertoire C:\log en ne conservant uniquement les fichiers datant de moins de 7 jours :
> Get-ChildItem "C:\Log" -Recurse | Where CreationTime -lt (Get-Date).AddDays(-7) | Remove-Item -Force -Recurse
Pour supprimer uniquement les fichiers et conserver les répertoires, le filtre -File peut être utilisé :
> Get-ChildItem "C:\Log" -Recurse -File | Where CreationTime -lt (Get-Date).AddDays(-7) | Remove-Item -Force -Recurse
Une tâche planifiée peut être créée pour automatiser la purge : Exécuter un script PowerShell via une tâche planifiée
Merci !
Bonsoir,
Comment faire pour, enchainer, plusieurs scripts à la suite ?
En effet, j'ai plusieurs répertoires dans lesquels je dois supprimer des fichiers antérieurs à 90 jours et j'aimerais au final faire une tâche planifiée.
Merci
Jean-Michel