Petit script pour effacer fichiers antérieur à une date [Résolu]

Signaler
Messages postés
3
Date d'inscription
mercredi 14 juin 2006
Statut
Membre
Dernière intervention
9 mars 2007
-
Messages postés
3
Date d'inscription
mercredi 14 juin 2006
Statut
Membre
Dernière intervention
9 mars 2007
-
Bonjour,

Je ne connais pas grand chose au VBS, cependant j ai un besoin urgent de script.

Ce que le script doit faire :
- Vérifier les dates des fichiers situés sur un lecteur S:\ et supprimer les fichiers ayant une date antérieure à juin 2005.

-En algo ca pourrai donner :

SI fichier < 06/2005
alors SUPPRIMER fichier
fin SI
SI fichier >= 06/2005
alors NE PAS SUPPRIMER fichier
fin SI

( un truc du genre )

Si quelqu un peut m aider ce serait vraiment très gentil.

Merci beaucoup.

5 réponses

Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26
 Bonjour à tous

Salut Julien,
je viens de visiter "ton" lien...c'est pas mal hormis les commentaires !!!

mon exemple, ci-dessous, est legèrement différent et plus simple à adapter au cas par cas.
Il y a création d'un .txt pour lister les fichiers supprimés (sadomasochisme) !
Je croyais avoir mis une source (suppression fichiers <15 jours) ou un snippet...impossible de le retrouver.

@+.
jean-marc
----------------------------------------------------

Option Explicit
'Variables à modifier
Const strPath = "S:" 'Dossier à modifier
Dim strDate
strDate = "06/2005"   'Date à modifier
'------------------------------------------------
'Variables
Dim objShell, objFso, objText
Dim strListe, compteur



'Transformer la date en 01/MM/AAAA
strDate = FormatDateTime(strDate,2)
'Calculer le nombre de jours entre les 2 dates
'strDateDiff = DateDiff("d", Date , strDate)
 
Set objShell = CreateObject("WScript.Shell")
Set objFso = CreateObject("Scripting.FileSystemObject")



'Dossier Bureau de windows + ""
strListe = objShell.SpecialFolders("Desktop")
'Tester la fin de l'arborescence du dossier
If Right(strListe, 1) <> "" Then strListe = strListe & ""



'Création du fichier .txt contenant l'arborescence du répertoire à traiter vers le Bureau
Set objText = objFso.CreateTextFile(strListe & "Liste Fichiers.txt", 1, True)



'Écrire la premiere ligne de la liste
objText.WriteLine Now 



'Appeler la fonction pour lister l'arborescence du dossier
FnListeDossier strPath, objText



'Écrire la dernière ligne de la liste
objText.WriteLine
objText.WriteLine "Nombre de objTexts :  " & compteur &vbCrLf& Now



'Fermer le fichier .txt
objText.Close
'Supprimer les objets
Set objShell = Nothing:
Set objText = Nothing
Set objFso = Nothing



MsgBox "Script terminé"



Function FnListeDossier(strPath, objText) 'Lister l'arborescence du dossier
On Error Resume Next
Dim objFso, objFolder, objSubFolder, objSubFolderItem
Dim objFolderFind, objSubFile, objSubFileItem 



Set objFso = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFso.GetFolder(strPath) 'dossier
Set objSubFolder = objFolder.SubFolders 'sous-dossiers



For Each objSubFolderItem In objSubFolder 'Traiter chaque sous-dossiers
    FnListeDossier objSubFolderItem.Path, objText 'traiter le sous-dossier
Next



Set objFolderFind = objFso.GetFolder(strPath) 'dossier
Set objSubFile = objFolderFind.Files 'objTexts
For Each objSubFileItem In objSubFile 'Traiter chaque objText du répertoire
    'Vérifier si la date de modification du fichier est < à la date paramétrée
    If DateDiff("d", strDate , FormatDateTime(objSubFileItem.DateLastModified, 2)) =< 0 Then
       'Ecrire le nom du chemin dans le fichier .txt
       objText.WriteLine objSubFileItem.Path & Space(20) & objSubFileItem.DateLastModified
       'Supprimer le fichier
'''''''''' objFso.DeleteFile objSubFileItem.Path
       compteur=compteur+1
    End If
Next
'Supprimer les objets   
Set objFso = Nothing   
Set objFolder = Nothing
Set objSubFolder = Nothing
Set objFolderFind = Nothing
Set objSubFile = Nothing
End Function
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
57
Salut,
Si je ne me trompe pas, il y un (minimum) topic dans le forum qui traite de ce sujet et qui je crois propose déjà des scripts, Il serait judicieux d'effectuer une petite recherche sur le forum ainsi que dans la section code

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
57
Re,
Tu vois en moins de temps qu il faut pour le dire:
J'ai taper: suppression fichier date dans le moteur de recherche => recherche dans Codes et j'ai trouvé ceci
Merveilleux ce moteur
@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
3
Date d'inscription
mercredi 14 juin 2006
Statut
Membre
Dernière intervention
9 mars 2007

Merci beaucoup.
Messages postés
3
Date d'inscription
mercredi 14 juin 2006
Statut
Membre
Dernière intervention
9 mars 2007

Un grand merci à toi Jean-Marc, ce script est parfait pour le travail que je doit faire.
Je l'ai testé, il fonctionne parfaitement.

Romain