Voici un script écrit en VBS qui permet de nettoyer un répertoire. Ce script est équivalent à la commande linux :
find /rep –mtime +5 –exec rm –f {} \;
Voici le script :
‘Les declarations
‘Repertoire ou sont stockes les fichiers
DossierSauvegarde = "C:\TEST\"
‘Nombre de jours de conservation des Fichiers
AgeMaximalFichiers = "30"
‘Comptage des fichiers effaces
NbFichiersEffaces = 0
‘Initialisation des objets
Set fso = CreateObject("Scripting.FileSystemObject" )
‘On verifie que le repertoire de sauvegarde existe
If (myName = Winrep = fso.FolderExists(DossierSauvegarde)) = False Then
Erreur = MsgBox("Le dossier de sauvegarde est introuvable !" )
Wscript.Quit
End If
‘On recupere la date systeme
DateSysteme = Date
‘On apelle la fonction d’effacement
Clean(DossierSauvegarde)
‘Fonction d’effacement des fichiers
Sub Clean(FolderPath)
Set Folder = fso.Getfolder(FolderPath)
‘On appelle recursivement la fonction s’il y a des sous dossiers
Set SubFolder = Folder.SubFolders
For Each CurrentFolder in SubFolder
Clean CurrentFolder.Path
Next
‘On efface les fichiers dans le dossier courant
For Each File In Folder.Files
If (DateDiff("d", File.DateLastModified, DateSysteme) > CInt(AgeMaximalFichiers)) Then
‘On verifie qu’ils ne sont pas en lecture seule
If File.Attributes And 1 Then File.Attributes = File.Attributes – 1
File.Delete()
NbFichiersEffaces = NbFichiersEffaces + 1
End If
Next
End Sub
‘On affiche un joli message
MsgBox (Cstr(NbFichiersEffaces) + " fichiers ont ete effaces" )
Il faut indiquer le dossier à nettoyer (DossierSauvegarde) et la durée de rétention (AgeMaximalFichiers).
J’ai trouvé ce script sur http://forum.hardware.fr/hfr/WindowsSoftware/Logiciels/suppression-fichiers-fonction-sujet_247096_1.htm
Partager :