IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Script pour fichiers vieux de 30 jours


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 2
    Par défaut Script pour fichiers vieux de 30 jours
    Bonjour à tous,
    Voici le script que j'utilise pour le moment pour effacer tous mes fichiers plus vieux que 30 jours.
    Mon problème maintenant c'est de faire fonctionner le script dans un dossier qui a des sous-dossiers et des sous-dossiers, mon script ne marche pas dans les sous-dossiers.
    Comment faire pour que mon script passe par tous les sous dossiers et efface les fichiers de plus de 30 jours.

    Merci de l'aide.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    Option Explicit
    on error resume next
     Dim oFSOLog
     Dim oFSOProc
     Dim sDirectoryPathLog
     Dim sDirectoryPathProc
     Dim oFolderlog
     Dim ofolderProc
     Dim oFileCollectionlog
     Dim oFileCollectionProc
     Dim oFile
     Dim iDaysOld
     
    'Modifier chaque dossier pour Client FTP
     iDaysOld = 30
     Set oFSOLog = CreateObject("Scripting.FileSystemObject")
     sDirectoryPathLog = "C:\Users\Christopher\Desktop\test1"
      set oFolderLog = oFSOLog.GetFolder(sDirectoryPathLog)
     set oFileCollectionLog = oFolderLog.Files
     
    'Si fichiers plus vieux que 30 jours ils seront effaces.
     For each oFile in oFileCollectionLog
      If oFile.DateLastModified < (Date() - iDaysOld) Then
       oFile.Delete(True)
      End If
     Next
     
    'Clean up
     Set oFSOLog = Nothing
     Set oFSOProc = Nothing
     Set oFolderLog = Nothing
     Set oFolderProc = Nothing
     Set oFileCollectionLog = Nothing
     Set oFileCollectionProc = Nothing
     Set oFile = Nothing

  2. #2
    Membre chevronné Avatar de pitchalov
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 340
    Par défaut
    Bonjour,

    La récursivité va répondre à ton problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub DeleteOldFiles(oFolderLog)
    'Si fichiers plus vieux que 30 jours ils seront effaces.
     For each oFile in oFolderLog.Files
      If oFile.DateLastModified < (Date() - iDaysOld) Then
       oFile.Delete(True)
      End If
     Next
    'Parcours des sous-dossiers
     For each oSubFolder in oFolderLog.SubFolders
      DeleteOldFiles oSubFolder 
     Next
    End Sub
    Après il ne te reste plus qu'à l'appeler une fois à la racine :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    set oFolderLog = oFSOLog.GetFolder(sDirectoryPathLog)
    DeleteOldFiles oFolderLog
    Bonne continuation!

Discussions similaires

  1. forfiles - Supprimer les fichiers vieux de 3 jours
    Par koKoTis dans le forum Scripts/Batch
    Réponses: 34
    Dernier message: 22/11/2011, 19h20
  2. Script pour effacer des fichiers après x jours
    Par Chakalaka dans le forum Débuter
    Réponses: 4
    Dernier message: 14/04/2011, 18h55
  3. [PHP 5.3] Supprimer fichier vieux de X jours
    Par mamax29 dans le forum Langage
    Réponses: 3
    Dernier message: 17/12/2010, 11h25
  4. Script pour fichier log
    Par rar77 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 22/08/2008, 18h11
  5. Supprimer les fichiers vieux de x jours
    Par zounours-69 dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 12/06/2008, 15h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo