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

Scripts/Batch Discussion :

Recherche du fichier le plus ancien d'un répertoire


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Dos
    Dos est déconnecté
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 137
    Par défaut Recherche du fichier le plus ancien d'un répertoire
    Bonjour,

    Je souhaite trouver le fichier le plus ancien dans un répertoire la commande suivante, trouve le plus ressent...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for /f "tokens=4* delims= " %%i in ('dir /o:d "C:\temp\*.*" ^| findstr /i /c:".*"') do set VrFchRcnt=%%i %%j 
    echo %VrFchRcnt%
    Comment faire ? (je debute en batch...)

    Autre question, comment savoir si un fichier est plus vieux de x minutes ? Est-ce seulement possible ?

    Merci de votre aide...

  2. #2
    Dos
    Dos est déconnecté
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 137
    Par défaut
    J'ai trouvé un contournement pour la deuxieme question...
    Autre question, comment savoir si un fichier est plus vieux de x minutes ? Est-ce seulement possible ?
    Par contre je cherche toujours des idées pour la premiere...

  3. #3
    Membre éclairé
    Avatar de exe2bin
    Profil pro
    Passionné de programmation
    Inscrit en
    Mars 2009
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Passionné de programmation

    Informations forums :
    Inscription : Mars 2009
    Messages : 537
    Billets dans le blog
    3
    Par défaut
    Salut,
    en batch je sais pas ce que ça peut donner ton truc mais si tu veux une
    version PowerShell la voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $tableauFichiers=gci | where {!$_.PSIsContainer}
    $plusAncienneDate=get-date
    foreach ($tmp in $tableauFichiers)
    {
        if ([system.DateTime]::Compare($tmp.CreationTime,$plusAncienneDate) -lt 0) {$plusVieuxFichier=$tmp;$plusAncienneDate=$plusVieuxFichier.CreationTime}
    }
    $plusVieuxFichier.Name
    Bon ,elle est ptêt pas trop solide mais le résultat est correct !
    PS: Moi aussi je débute ...

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 29
    Par défaut
    tu ne semble pas avoir bien regardé l'aide de la commande dir ......

    par exemple:
    dir /od (tri pas date)
    dir /o-d (tri par date en ordre inversé, c'est ce que tu cherches)

    tu peux même cumuler des parametres pour ne pas prendre en compte les répertoires par exemple:
    dir /o-d /a-d

    ne récupérer que le nom:
    dir /o-d /a-d /b

    etc....

    Sinon, tu peux sortir de ta boucle for dès le premier nom trouvé (en excluant les dossiers et en particulier . et ..)

  5. #5
    Dos
    Dos est déconnecté
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 137
    Par défaut
    Merci... dans mon cas ça donne donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for /f "tokens=4* delims= " %%i in ('dir /o:-d "C:\temp\*...
    Par contre je reviens sur ma deuxième question qui me serait finalement très utile :

    Comment savoir si un fichier est plus vieux de x minutes ? Est-ce seulement possible ?

  6. #6
    Membre Expert Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Par défaut
    Tu peux, mais c'est pas vraiment pratique en Batch.

    Il faut extraire la date de modif de ton fichier (facile) et comparer les différents jour, mois, annee, heure et minutes. Ce qui peut devenir vite lourd.

    Je ne connais pas PowerShell mais j'ose esperer que c'est faisable facilement avec.
    Sinon tu peux passer par un script vbs auquel tu passeras ta date extraite (cf la FAQ il y a un Exemple).

Discussions similaires

  1. Comment trouver le fichier le plus ancien/récent dans un répertoire ?
    Par YVESTA dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 27/05/2011, 14h15
  2. Réponses: 1
    Dernier message: 23/07/2010, 20h39
  3. Réponses: 4
    Dernier message: 06/08/2008, 14h52
  4. rechercher le fichier le plus récent
    Par PC81 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 16/05/2008, 11h49
  5. Supprimer le fichier le plus ancien dans un dossier
    Par sweaty dans le forum Delphi
    Réponses: 5
    Dernier message: 25/02/2007, 16h33

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