Purge de fichiers
Mise à jour du 11/06/2025
Mise à jour du 11/06/2025
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
(*) 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"
Purge<n>=rep[,nbj=nn][,nbjr=nn][,nbjf=nn][,force=regexp][,sauf=regexp][,seul=regexp][,recursif][,purgevide][,test][,sup|del]
rep Le nom du répertoire à traiter
nbj=nn L'age des fichiers ET des répertoires ou nbjf=nn pour l'age des fichiers et nbjr=nn pour l'age des répertoires
force=regexp Forcer la suppression des fichiers correspondant à l'expression régulière regexp
sauf=regexp Empêcher le traitement des fichiers correspondant à l'expression régulière regexp
recursif Traiter les sous-répertoires
purgevide Supprimer les sous-répertoires devenus vides à la suite du traitemenet
test Tester les paramètres sans supprimer les fichiers
sup/del Supprimer le répertoire précisé quel que soit son contenu, à condition que ce soit le seul paramètre
Quand on ne peut pas retirer un programme du démarrage de Windows ou de l'ouverture de session, il est parfois encore possible de l'arrêter quand il s'exécute...
Kill<n>=programme[,programme,…][,jour=regexp][,heure(=|<|<=|>|>=)"hh:mm"]
programme Le nom (ou le début) du programme à arrêter
jour=regexp Une regexp précisant une liste de jours où arrêter le programme, chaque jour étant donné par ses 2 premières lettres
heure=... Une condition sur l'heure et les minutes pour arrêter le programme
Typiquement, l'imprimante "oneNote (desktop)" est systématiquement réinstallée par le click to run d'office d'où l'existence de cette action
Impr<n>=nom
nom Le nom (ou le début) de l'imprimante à retirer
Après une mise à jour de Windows, parfois les dossiers épinglés dans l'explorateur sont réinitialisés. La liste précise les répertoires à épingler, tout répertoire épinglé non présent dans cette liste étant retiré. L'accès à l'espace "quick access" de l'explorateur est paramétré dans le fichier ini par la clé «QAcc»
Pin<n>=repertoire
répertoire Le nom du répertoire à épingler (les variables d'environnement sont reconnues)
Typiquement, je veux que l'historique des fichiers de 7-Zip soit toujours le même à chaque ouverture de session... La valeur est ajoutée (ou modifiée) dans la base de registre via la commande "REG ADD"
Key<n>=cle,valeur,type,data
cle Le nom de la clé de registre
valeur Le nom de la valeur à ajouter (ou modifier)
type Le type de données de la valeur (REG_DWORD, REG_SZ, REG_MULTI_SZ, REG_BINARY, ...)
data Le contenu de la valeur
Ini<n>=fichier,section,cle,valeur
fichier Le nom complet du fichier ini à mettre à jour
section Le nom de la section à mettre à jour
cle La clé à mettre à jour
data Le contenu de la clé à modifier