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 :

copier xx fichier d'apres leurs date de modification


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    99
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 99
    Par défaut copier xx fichier d'apres leurs date de modification
    Bonjour le Forum,

    Je voudrais copier que les 10 derniers fichiers modifiés d'un répertoire présis sur clé USB.
    Les fichiers sont de taille différents, ce sont des fichiers .log, créés puis modifiés automatiquement tous les x jours (aléatoire).
    Pour mes analyses aprés, seule les 10 derniers sont intéréssent.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    rep1 = "C:\transfer\"
     
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder(rep1)
    Set fFichiers = f.Files
     
    For Each fTemp In fFichiers
        ' Copier sur clé USB, que les 10 derniers fichiers modifiés ...
                 msgbox fTemp.Name & " - " & fTemp.DateLastModified
    next
    Un petit exemple ou un lien, serait le bien venu.

    Merci d'avance..

  2. #2
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Je te conseille d'utiliser des algos de Min Max pour trier tes fichiers en fonction de la date puis de prendre les dix premiers (ou dernier).

    Tu auras besoin de la fonction VBS DateDiff pour comparer les date des fichiers.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    99
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 99
    Par défaut
    Bonjour le Forum,

    Merci ced600 pour les infos.
    Je suis novise en VBS est un petit bout de code m'aiderais un peu plus.
    Je vais continuer à chercher.
    Avec la fonction DateDiff : j'arrive déjà à trier d'après un nombre de jour, mais dommage, les fichiers ne corresponde pas à 10 jours mais xx jours aléatoire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    For Each fTemp In fFichiers
    	If DateDiff("d", fTemp.DateLastModified, Date) < 10 Then
    		msgbox fTemp.Name & " - " & fTemp.DateLastModified
                             ' Copie des fichiers sur 10 jours.
    	end if
    next
    En VB6, je pourrais stocker les dates dans une liste et avec la proprièté en sortir que les 10 (prenier ou dernier).
    Peut-t'on faire ça en VBS ?

    Merci d'avance

  4. #4
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    En fait moi j'aurais créer un dictionnaire et je l'aurais remplis avec les date de tes fichiers.

    pour ce faire j'insère la première date en premier.
    Puis pour les autres je compare avec toutes les autres dates rentré dans le dico pour l'insérer de façon trier (entre deux dates, au début ou à la fin).

    Une entrée d'un dictionaire est un couple clé/valeur. donc tu peux utiliser les date en clé, et en valeurs le noms des fichiers pour faire le lien.

    Puis tu parcours tes dix premières entrées pour connaitre les 10 fichiers plus récents.

    Désolé mais je n'ai pas le temps d'écrire un code VBS.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Copier des fichiers en conservant leur chemin
    Par thibaud74 dans le forum Shell et commandes GNU
    Réponses: 17
    Dernier message: 10/12/2012, 11h14
  2. Réponses: 1
    Dernier message: 19/05/2010, 10h30
  3. Réponses: 2
    Dernier message: 20/11/2009, 15h37
  4. Copier des fichiers modifiés entre 2 dates
    Par amans dans le forum Linux
    Réponses: 2
    Dernier message: 16/10/2009, 08h35
  5. Liste de fichier selon leur date de modification
    Par ManuV dans le forum Général Java
    Réponses: 7
    Dernier message: 11/02/2009, 12h25

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