Effacer autonatiquement des fichiers

Messages postés
1
Date d'inscription
vendredi 12 juillet 2002
Statut
Membre
Dernière intervention
16 juillet 2002
-
Messages postés
93
Date d'inscription
lundi 8 avril 2002
Statut
Membre
Dernière intervention
22 juillet 2006
-
Bonjour

Je realise automatiquement une sauvegarde d'un fichier dans un repertoire en VB.
J'aimerais supprimer les fichiers les plus anciens quand la taille du repertoire devient trop importante.
Tout ca automatiquement et avec VB!

Merci d'avance. :shy)

2 réponses

Messages postés
360
Date d'inscription
vendredi 24 août 2001
Statut
Membre
Dernière intervention
9 juillet 2008
3
Utilise 'FileDateTime()'

==============
Site Web de JDPROG
Présentation de MP3 Index

http://jdprog.fr.st
Messages postés
93
Date d'inscription
lundi 8 avril 2002
Statut
Membre
Dernière intervention
22 juillet 2006

Mon projet (écrit sous Windows 98 SE avec VB5) comporte une form avec un bouton de commande.

Private Sub Command1_Click()
'----- Déclaration des variables locales
    Dim MonRep As String
    Dim TFic As String
    Dim TDate As String
    Dim DJour As String
    Dim TTaille As Long
    Dim Obj As Object
        
'----- Initialisation des variables
    '----- Nom du répertoire de travail
    MonRep = "C:\Temp\test"
    '----- Date du jour au format adéquat
    DJour = Format(Now, "dd/mm/yyyy")
    
'----- Taille du répertoire
    '----- Code emprunté à Neo.balastik (grand merci à lui) et source présente sur
    '----- le site à l'adresse : http://www.vbfrance.com/article.aspx?Val=4246
    Set Obj = CreateObject("Scripting.FileSystemObject")
    TTaille = Obj.GetFolder(MonRep).Size
    Set Obj = Nothing
    '----- Si la taille du répertoire est inférieure à 20 000 octets alors on quitte la procédure
    If TTaille < 20000 Then Exit Sub
    
'----- Lecture des fichiers du répertoire
    '----- On détermine le premier nom de fichier
    TFic = Dir$(MonRep + "*.*", vbNormal)
    '----- Début de la boucle de travail
    Do While TFic <> ""
        '----- On récupère la date de création du fichier et on la met
        '----- au format choisi pour la comparaison
        TDate = FileDateTime(MonRep + TFic)
        TDate = Format(TDate, "dd/mm/yyyy")
        '----- Affiche simplement sur la form, le nom du fichier, sa date de création,
        '----- la date du jour et la différence de date en jours ("d" pour "day")
        Me.Print TFic & " " & TDate & " " & DJour & " " & DateDiff("d", TDate, DJour)
        '----- Si la différence de date est supérieure ou égale à 80 jours,
        '----- alors on efface le fichier concerné
        If DateDiff("d", TDate, DJour) >= 80 Then
            Kill MonRep + TFic
        End If
        '----- On reprend la boucle en récupérant le nom du fichier suivant
        TFic = Dir$
    Loop
    
End Sub



@+ :)