Présentation
Le script suivant m’est très pratique, je le lance à chaque démarrage de Windows, afin qu’il purge les fichiers temporaires et le cache d’Internet Explorer.
Déroulement
En premier lieu, le script détermine le chemin du profil de l’utilisateur courant. Il liste ensuite l’ensemble des dossiers pour les supprimer un par un. Il liste ensuite la liste des fichiers du répertoire temporaire et les supprime un par un.
Le script fait ensuite de même pour le répertoire des fichiers temporaires Internet Explorer.
Chaque tentative de suppression est délimité par un try… catch… afin d’éviter de mettre le script en erreur si un fichier ne peut être supprimé.
Mise en place
Une petite astuce pour le lancer de manière totalement transparente pour l’utilisateur:
Lancer regedit, puis ajouter la clef de registre suivante sous :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Clef Chaîne:
Nom: Clean
Valeur: \Chemin\vers\votre\script\clean.js
Sources du Script
/* ================================================ Clean: Script de nettoyage des fichiers temporaires Auteur: Nicolas KAPFER Version: 1.0 Date: 19/09/2008 Historique des Versions: 1.0 (19/09/2008) Création ==================================================== */ /* ================================================= Déclaration des Variables et Constantes ==================================================== */ var oShell = WScript.CreateObject("WScript.Shell"); var fso = new ActiveXObject("Scripting.FileSystemObject"); var WshNetwork = WScript.CreateObject("WScript.Network"); var userName = WshNetwork.userName; var dirTemp = "C:\\Documents and Settings\\" + userName + "\\Local Settings\\Temp\\"; var dirIETemp = "C:\\Documents and Settings\\" + userName + "\\Local Settings\\Temporary Internet Files\\"; /* ==================================================== Déclaration des Fonctions ======================================================== */ function ListeFile (l_s_Path) { var i, s, re; var tab_Files = new Array (); //Definiton des variables var l_fs; //systeme de fichier var i; //Creation de la variable de Drives-- l_fs = new ActiveXObject("Scripting.FileSystemObject"); //Creation de la colections de FILES l_folder = l_fs.getFolder(l_s_Path); l_files = new Enumerator(l_folder.files); //Boucle sur tous les fichiers du répertoires (Extension) i = 0; s = new String(""); for (; !l_files.atEnd(); l_files.moveNext()) { s = l_files.item(); a = s.Name; tab_Files[i] = a; i++; } return tab_Files; } function ListeSubFolders (l_s_Path) { var i, s, re; var tab_Folders = new Array (); f = fso.GetFolder(l_s_Path); fc = new Enumerator(f.SubFolders); s = new String(""); i = 0; for (;!fc.atEnd(); fc.moveNext()) { s = fc.item(); tab_Folders[i] = s; i++; } return tab_Folders; } /* ========================================================== Procédure Principale ============================================================= */ try { // Effacement de tout les sous répertoires Temporaire listeFolders = ListeSubFolders(dirTemp); for (i = 0; i < listeFolders.length; i++) { // Pour chaque Sous répertoire, tentative de suppression try{ fso.DeleteFolder(dirTemp + listeFolders[i],true); }catch(error){ } } listeFichiers = ListeFile(dirTemp); for (i = 0; i < listeFichiers.length; i++) { // Pour chaque fichier, tentative de suppression try{ fso.DeleteFile(dirTemp + listeFichiers[i],true); }catch(error){ } } // Effacement de tout les sous répertoires Temporaire listeFolders = ListeSubFolders(dirIETemp); for (i = 0; i < listeFolders.length; i++) { // Pour chaque Sous répertoire, tentative de suppression try{ fso.DeleteFolder(dirIETemp + listeFolders[i],true); }catch(error){ } } listeFichiers = ListeFile(dirIETemp); for (i = 0; i < listeFichiers.length; i++) { // Pour chaque fichier, tentative de suppression try{ fso.DeleteFile(dirIETemp + listeFichiers[i],true); }catch(error){ } } }catch(error) { }