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 :

Passer le résultat d'une commande Find en variable


Sujet :

Scripts/Batch

  1. #1
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2013
    Messages : 6
    Par défaut Passer le résultat d'une commande Find en variable
    Bonjour.

    J'ai un petit soucis avec la commande Find.
    En effet, je n'arrive pas à la passer en variable.
    Je cherche à comparer deux listes contenus dans deux fichiers différents, voici mon code :
    Code bat : 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
    REM définition des variables
    set file1=inventaire.txt
    set file2=standard.txt
     
    REM recherche du nombre de lignes dans le fichier
    for /f "tokens=* delims=" %%J in ('type "%file1%"') do (
    	set /a x=!x!+1
    	set lineFile1[!x!]=%%J
    )
     
    REM Comparaison des fichiers
    set compt=%x%
    for /L %%L in (1,1,%compt%) do (
    	for /f "delims=" %%i in ('find /c "!lineFile1[%%L]!" %file2%') do set var=%%i
    	echo resultat de la ligne %%L : %var% >> result.txt
    )
     
    pause

    Pourtant, lorsque je mets la commande Find sans passer par la boucle For, la fenêtre m'affiche correctement le résultat. Mais, malheureusement, je n'arrive pas à la récupérer pour la traiter, la variable %var% reste incompréhensiblement vide.

    Quelqu'un aurait une idée de résolution ?

    Merci pour votre aide

  2. #2
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2013
    Messages : 6
    Par défaut
    Re

    J'ai encore fait quelques tests, et je m'aperçois que je n'arrive pas non plus à passer le résultat de la commande dans un fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find /c "!lineFile1[%%L]!" %file2% >> result.txt
    Je suis vraiment perplexe, d'autant que la commande seule renvoie un résultat...

  3. #3
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    Je ne vois pas de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setlocal enabledelayedexpansion
    dans ton code !

    L'aurais-tu oublié ????


  4. #4
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2013
    Messages : 6
    Par défaut
    Merci pour ta réponse.
    Non, je ne l'ai pas oublié dans le code original. Le script est un peu plus long, je n'ai mis que la partie qui pose problème, en oubliant de remettre cette ligne .

Discussions similaires

  1. [Batch] Comment passer le résultat d'une commande en variable
    Par Ohemeg dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 30/11/2009, 23h51
  2. Trier le résultat d'une commande dir?
    Par Johns dans le forum Langage
    Réponses: 6
    Dernier message: 13/03/2006, 17h24
  3. Récupération du résultat d'une commande shell
    Par klu dans le forum Langage
    Réponses: 8
    Dernier message: 16/02/2006, 23h34
  4. Réponses: 2
    Dernier message: 02/01/2006, 10h39
  5. Ecrire le résultat d'une commande dans un fichier de l' OS
    Par Labienus dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 26/02/2004, 11h04

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