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