[VBS] Supprimer les fichiers d’un repertoire en fonction de leur date de modification


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

Autres articles intéressants :

  1. Remplacer des mots dans plusieurs fichiers
  2. Supprimer les mails des Elements supprimés automatiquement
  3. [Script Nagios] Vérifier la récupération des emails en POP sur Mdaemon en VBS

Tags: , ,

Leave a Comment