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

Windows Discussion :

Batch de recherche de fichiers


Sujet :

Windows

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 8
    Points : 4
    Points
    4
    Par défaut Batch de recherche de fichiers
    Bonjour à tous.

    Je debute dans ce domaine et j'aurai besoin de votre aide.
    Je dois ecrire un fichier batch qui me permet de retrouver les fichiers Exe dans des dossiers donnés.
    C'est à dire que le batch doit me demander dans quel dossier effectuer la recherche puis proceder à la recherche.
    Il m'a ete recommandé d'utiliser la fonction For, mais je ne comprend pas bien son fonctionnement...
    A la fin du programme je dois avoir en resultat le nom et l'emplacement du dossier.

    Merci d'avance pour votre aide.

  2. #2
    Membre émérite 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 : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Points : 2 453
    Points
    2 453
    Par défaut
    Je capte pas bien, tu donnes le repertoire en entrée:
    C'est à dire que le batch doit me demander dans quel dossier effectuer la recherche
    Et en sortie tu renvoies le repertoire ?
    A la fin du programme je dois avoir en resultat le nom et l'emplacement du dossier.
    Sinon pour avoir tous les exe depuis un repertoire courant:
    Je ne réponds pas aux questions techniques par MP, le forum est là pour cela.

    La crypto c'est comme les flambys, une fois que tu as trouvé la languette tu as juste à tirer pour tout faire tomber.

    (\ _ /)
    (='.'=)
    Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    En fait la recherche doit s'effectuer sur un repertoire contenant d'autres repertoires.
    Le resultat doit être affiché dans un fichier.

    En esperant avoir ete plus clair.

    Pour info, je dois utiliser la fonction For

  4. #4
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Voilà un batch qui fait ce que tu veut avec la boucle for.
    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
    @echo off
    
    if '%1'=='' (
        set CURDIR=%CD%
        echo Executable search in %CURDIR% start on %DATE% at %TIME% > result.txt
    ) else (
        set CURDIR=%1
    )
    
    echo Searching *.exe in %CURDIR%
    for /F %%f in ('dir /B %CURDIR%\*.exe') do (
        echo %CURDIR%\%%f >> result.txt
    )
    
    for /F %%f in ('dir /B /A:D %CURDIR%') do (
        call %0 %CURDIR%\%%f
    )
    La première boucle for liste les .exe du répertoire passé en paramètre (répertoire courant si pas de paramètre) et écrit leur chemin absolu dans le fichier "result.txt".

    La deuxième boucle for liste les sous-répertoire et relance le script pour chacun d'eux.
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  5. #5
    Membre émérite 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 : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Points : 2 453
    Points
    2 453
    Par défaut
    En faisant simplement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dir *.exe /s /b > result.txt

    Tu auras exactement le même résultat pour le répertoire courant. Tu as juste à te placer dans le repertoire passé en paramètre si tu désires le faire depuis un autre repertoire (pour la récupération voir le code de le y@m's)
    Je ne réponds pas aux questions techniques par MP, le forum est là pour cela.

    La crypto c'est comme les flambys, une fois que tu as trouvé la languette tu as juste à tirer pour tout faire tomber.

    (\ _ /)
    (='.'=)
    Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  6. #6
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Il est vrai que je ne vois pas trop l'utilité de la boucle for étant donné qu'en une ligne (celle donnée par Drizzt) tu as le même résultat.

    Dans ton cas l'utilisation de la boucle for n'est pertinente que si tu doit faire plus qu'écrire le nom des fichiers dans un fichier.
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

Discussions similaires

  1. [batch] Comment rechercher deux mots dans un fichier .txt ?
    Par koKoTis dans le forum FAQs Windows
    Réponses: 0
    Dernier message: 10/02/2009, 17h54
  2. [batch] recherche de fichier sur different lecteurs
    Par dmichel dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 15/12/2008, 12h11
  3. batch de recherche de fichier ...
    Par Félia dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 29/07/2004, 15h54
  4. Recherche support fichier
    Par sydiop dans le forum Informix
    Réponses: 5
    Dernier message: 18/03/2004, 10h15
  5. Batch pour copier des fichier
    Par borgfabr dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 09/03/2004, 07h55

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