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 :

Récupérer le fichier le plus récent


Sujet :

VBScript

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 37
    Points : 42
    Points
    42
    Par défaut Récupérer le fichier le plus récent
    Bonjour,

    je cherche comment récupérer le fichier qui a été modifié le plus récemment,

    par exemple:

    alert_base. log dernière modification le "01/12/2007 05:04:43"
    alert_test.log dernière modification le "22/01/2009 16:30:45"
    alert_toto.log dernière modification le "10/06/2014 17:56:23"

    je voudrais donc juste récupérer le plus récent qui est alert_toto.log

    pour récupérer les fichier j'utilise ce code la


    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
    Option Explicit
     
        Dim objFso, oFile, RepTest, oFold, Resultat
     
        Set objFso = CreateObject("Scripting.FileSystemObject")
        RepTest = "C:\Temp" ' A modifier selon le besoin
        Set oFold = objFso.GetFolder(RepTest)
        Resultat = ""
        For Each oFile In oFold.Files
            If LCase(Left(oFile.Name, 6))  = "alert_" And LCase(Right(oFile.Name, 4)) = ".log" Then 
               ' Cette condition utilisant LCase permet d'ignorer la casse
               ' Autrement dit pas sensible à la casse(ignorant minuscule /majuscule)
              Resultat = Resultat & oFile.Path & vbCrLf
            End If
        Next
        ' Affichage de la liste des fichiers(avec chemin complet) répondant au critère de recherche
        MsgBox Resultat
    Merci d'avance

    Galène

  2. #2
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut

    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
    Option Explicit
    Dim objFso, oFile, RepTest, oFold, Resultat ,dblToday
    Set objFso = CreateObject("Scripting.FileSystemObject")
    RepTest = "C:\Temp" ' A modifier selon le besoin
    Set oFold = objFso.GetFolder(RepTest)
    Resultat = ""
    dblToday = Date()
    For Each oFile In oFold.Files
        If LCase(Left(oFile.Name, 6))  = "alert_" And LCase(Right(oFile.Name, 4)) = ".log" And dblToday = Fix(oFile.DateLastModified) Then 
    ' Cette condition utilisant LCase permet d'ignorer la casse
    ' Autrement dit pas sensible à la casse(ignorant minuscule /majuscule)
            Resultat = Resultat & oFile.Path & vbCrLf
        End If
    Next
    ' Affichage de la liste des fichiers(avec chemin complet) répondant au critère de recherche
    MsgBox Resultat

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 37
    Points : 42
    Points
    42
    Par défaut
    En cherchant un peu on trouve donc voila en utilisant "DateLastModified" et "DateDiff"

    je met mon code final ça peut intéresser des personnes

    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
    alert_log = ""
       Set objFso = CreateObject("Scripting.FileSystemObject")
        Set oFold = objFso.GetFolder(REP)
        Resultat = ""
    	Hor= "01/01/1970 00:00:37"
        For Each oFile In oFold.Files
            If LCase(Left(oFile.Name, 6))  = "alert_" And LCase(Right(oFile.Name, 4)) = ".log" Then 'récupération des fichier alert_*.log
              Resultat = oFile.Path
     
    		  if objFso.FileExists(resultat) then 													'récupération du dernier fichier modifié 
    				Hor_next = objFso.GetFile(resultat).DateLastModified
    				diff = DateDiff("s",Hor_next,Hor)
     
    				if Diff < 0 then 
    				Hor = Hor_next
    				alert_log = oFile.Name
    				end if 
    			end if 
            End If
        Next
    	wscript.echo alert_log

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 37
    Points : 42
    Points
    42
    Par défaut
    Merci

    j'ai essayé avec ton code mais ça ne marche pas, pourtant j'ai la même chose après j'ai trouvé un moyen c'est peut être pas le plus simple (je suis pas dev à la base ) mais il marche

  5. #5
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut
    Citation Envoyé par galene86 Voir le message
    Merci
    j'ai essayé avec ton code mais ça ne marche pas, pourtant j'ai la même chose après j'ai trouvé un moyen c'est peut être pas le plus simple (je suis pas dev à la base ) mais il marche
    J'ai un peu anticipé et je n'ai pas bien lu ce que vous voulez faire exactement , désolé
    Oui, vous avez raison car le code que j'ai posté marche seulement quand on veut comparer les fichiers modifiés avec la date courante
    Essayez de créer un fichier exemple : avec la date courante et testez-le
    @+

  6. #6
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut
    Testez ce code trouvé ici :
    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
    Option Explicit  
    Dim fso, path, file, recentDate, recentFile
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set recentFile = Nothing
    For Each file in fso.GetFolder("C:\Temp").Files
      If (recentFile is Nothing) Then
        Set recentFile = file
      ElseIf (file.DateLastModified > recentFile.DateLastModified) Then
        Set recentFile = file
      End If
    Next
     
    If recentFile is Nothing Then
      WScript.Echo "no recent files"
    Else
      WScript.Echo "Recent file is " & recentFile.Name & " " & recentFile.DateLastModified
    End If

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

Discussions similaires

  1. [PHP 5.3] Récupèrer le nom du fichier le plus récent dans un dossier
    Par oOBaalberithOo dans le forum Langage
    Réponses: 3
    Dernier message: 25/02/2010, 14h26
  2. récupérer le fichier le plus récent
    Par kifouillou dans le forum Langage
    Réponses: 24
    Dernier message: 26/01/2007, 00h04
  3. [MySQL 3.23] Récupérer la date la plus récente
    Par griese dans le forum Langage SQL
    Réponses: 10
    Dernier message: 19/12/2006, 14h19
  4. Fichiers le plus récent en BATCH
    Par nolan76 dans le forum Windows
    Réponses: 5
    Dernier message: 03/08/2006, 14h25
  5. Réponses: 2
    Dernier message: 12/03/2006, 23h41

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