Petit script pour effacer fichiers antérieur à une date

Résolu
rodoch Messages postés 3 Date d'inscription mercredi 14 juin 2006 Statut Membre Dernière intervention 9 mars 2007 - 8 mars 2007 à 11:25
rodoch Messages postés 3 Date d'inscription mercredi 14 juin 2006 Statut Membre Dernière intervention 9 mars 2007 - 9 mars 2007 à 15:26
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.
A voir également:

5 réponses

cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
8 mars 2007 à 19:56
 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
3
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
8 mars 2007 à 11:30
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
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
8 mars 2007 à 11:33
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
0
rodoch Messages postés 3 Date d'inscription mercredi 14 juin 2006 Statut Membre Dernière intervention 9 mars 2007
8 mars 2007 à 11:34
Merci beaucoup.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
rodoch Messages postés 3 Date d'inscription mercredi 14 juin 2006 Statut Membre Dernière intervention 9 mars 2007
9 mars 2007 à 15:26
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
0
Rejoignez-nous