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