Supprimer un dossier antérieur a 2 jours

Supprimer un dossier antérieur a 2 jours - VB/VBA/VBS - Programmation

Marsh Posté le 06-06-2006 à 15:42:14    

Salut voilà j'aimerais supprimer un dossier de backup qui serait antérieur a deux jours.
 
A savoir que se dossier contient des sous dossiers et des fichiers qui on tous la même date de création.
 
Pour le moment j'ai ça :
 

Code :
  1. Dim Fso
  2. Dim Directory
  3. Dim Modified
  4. Dim Files
  5. Set Fso = CreateObject("Scripting.FileSystemObject" )
  6. Set Directory = Fso.GetFolder("C:\backup" )
  7. Set Files = Directory.Files
  8. For Each Modified in Files
  9. If DateDiff("D", Modified.DateLastModified, Now) > 7 Then Modified.Delete
  10. Next


 
Ca efface seulement les fichiers antérieur a deux jours.
 
En gros il me faut la meme chose mais pour les dossiers avec tout ce qu'ils contienent...


Message édité par HotSurfeur le 06-06-2006 à 16:31:01
Reply

Marsh Posté le 06-06-2006 à 15:42:14   

Reply

Marsh Posté le 06-06-2006 à 17:18:38    

Adapter d'un post Excel que j'ai fait pour liste fichiers dans dossier/sous dossiers
Sous Excel il faut référencer MS Scripting Runtime : VBA Outils | Références
pour sa retranscription en pur VBS je te laisse la main
 


Sub Balayage()
Const Dossier As String = "C:\Backup\"
    Effacer Dossier, True
End Sub
 
Sub Effacer(ByVal Dossier As String, ByVal InclureSousDossiers As Boolean)
Dim FSO As Scripting.FileSystemObject
Dim DossierSource As Scripting.Folder, SousDossier As Scripting.Folder
Dim Fichier As Scripting.File
 
    Set FSO = New Scripting.FileSystemObject
    Set DossierSource = FSO.GetFolder(Dossier)
     
    For Each Fichier In DossierSource.Files
        If DateDiff("D", Fichier.DateLastModified, Now) >7 Then Fichier.Delete
    Next Fichier
     
    If InclureSousDossiers Then
        For Each SousDossier In DossierSource.SubFolders
            Effacer SousDossier.Path, True
            If SousDossier.Files.Count = 0 Then SousDossier.Delete
        Next SousDossier
    End If
     
    Set Fichier = Nothing
    Set DossierSource = Nothing
    Set FSO = Nothing
End Sub


Message édité par kiki29 le 07-06-2006 à 07:34:28
Reply

Marsh Posté le 07-08-2006 à 11:20:35    

Bonjour,
 
J'aimerai savoir si on peut adpater le code de HotSurfeur pour deleter les fichier de type XLS uniquement. En effet dans mon repertoire j'aimerai supprimer les fichier vieux de 5 jours mais uniquement les fichier de type Excel et garder les fichier de type txt.
 
Mups

Reply

Marsh Posté le 07-08-2006 à 17:05:45    


If DateDiff("D", Modified.DateLastModified, Now) > 5 And FSO.GetExtensionName(Modified.DateLastModified) = "xls" Then ...


Message édité par kiki29 le 07-08-2006 à 19:16:36
Reply

Marsh Posté le 25-03-2008 à 18:48:55    

Je suis nouveau ici mais bon ,
j'ai aussi un code de ce type ;
et je voudrais savoir si ce code marchait avec les sous-dossier parce que mon code cause des problème snif !!
Merci de notre aide.
 

Reply

Marsh Posté le 25-03-2008 à 19:15:24    

http://www.izipik.com/images/20080325/juwabjjhv942jswg0a-deterrage.png

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed