Script de purge des fichiers temporaires

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) {
}

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *