Purge de fichiers

Windows ne fournissait pas nativement de quoi purger avec un délai paramétrable les anciens fichiers d'un certain nombre de répertoires. Ainsi, les répertoires %temp%, C:\Windows\Temp, les téléchargements, le répertoire des crashs, les liens vers les fichiers récemment ouverts ou la corbeille se remplissent au fil des jours et des actions d'ouverture de fichiers, de téléchargements, d'installations et désinstallation, ...

Certes Windows 11 permet désormais de vider la corbeille et le répertoire des téléchargements via «Configurer l'assistant de stockage» mais cela reste très limité.

Du coup, j'ai écrit un script (WSF) que l'on peut mettre en démarrage de l'ouverture de la session (*) et qui permet d'appliquer une politique de purge assez fine pour chacun de ces répertoires (elle peut être différente en fonction du répertoire bien entendu).

Vous trouverez en pièce jointe un fichier zip qui contient :

  • Purge.ini : le paramétrage du script (oui je sais c'est "old fashion" mais c'est simple)

  • Purge.wsf : le script principal à lancer

  • Purge.log : un exemple de log produit par le script

  • Tools.vbs : une bibliothèque de fonctions à déposer dans le même répertoire que le script


Syntaxe d'une commande de purge :

Purge<n>=<repertoire> [,nbj=nnn][,nbjr=nnn][,nbjf=nnn][,force=regexp][,sauf=regexp][,seul=regexp][,recursif][,purgevide][,test][,sup|del]

  • <repertoire> est le nom du répertoire à traiter

  • nbj=nnn pour préciser l'age des fichiers ET des répertoires ou nbjf=nnn pour l'age des fichiers et nbjr=nnn pour l'age des répertoires

  • force=regexp pour forcer la suppression des fichiers correspondant à l'expression régulière regexp

  • sauf=regexp pour empêcher le traitement des fichiers correspondant à l'expression régulière regexp

  • recursif pour traiter les sous-répertoires

  • purgevide pour supprimer les sous-répertoires devenus vides à la suite du traitemenet

  • test pour tester les paramètres sans supprimer les fichiers

  • sup ou del pour supprimer le répertoire précisé quel que soit son contenu, à condition que ce soit le seul paramétre


D'autres fonctions sont disponibles dans le script (via les commentaires en tête du fichier purge.wsf) comme la réinitialisation de clés de registre ou la suppression de programmes (dans un environnement professionnel où l'on ne peut pas modifier le lancement d'un programme mais où l'on peut quand même arrêter celui-ci bien sûr).

(*) Via un click droit faire un " copier " du fichier script puis un " coller le raccourci " dans le répertoire " %AppData%\Microsoft\Windows\Start Menu\Programs\Startup "