Comment récupérer des mots dans un fichier txt ?

Résolu
Zarwax -  
barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'aimerais pouvoir récupérer les mots après les "=" afin de pouvoir les insérer dans des variables d'un autre fichier bat.
Comment faire ?

Exemple du fichier texte :

MEMOIRE1
_____________________________
Carte=Ethernet
Ip=192.168.164.24
Mask=255.255.255.128
Passerelle=192.168.164.1
Dns=

La première ligne est "Memoire1" et la dernière "DNS=".

Pouvez-vous m'expliquer la commande bat à écrire pour récupérer par exemple "Ethernet" et le stocker dans une variable d'un autre fichier ?

Merci Beaucoup

7 réponses

  1. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930
     
    Bonjour,

    Il faut utiliser la boucle FOR /F pour parcourir ton fichier texte :

    setlocal enableextensions enabledelayedexpansion

    for /f "tokens=1,2 delims=^=" %%A in (fichier.txt) do (
    set %%A=%%B
    )

    call fichier.bat !carte! !ip! !mask! !passerelle! !dns!

    0
    1. Zarwax Messages postés 18 Statut Membre
       
      Merci banabe0057 pour ta réponse.

      Pourrais -tu m'expliquer ce que font les différentes choses ? Car je n'ai pas vraiment réussi à comprendre.
      Merci
      0
      1. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930 > Zarwax Messages postés 18 Statut Membre
         
        La boucle FOR /F lit le fichier texte une ligne après l'autre, découpe chaque ligne en 2 parties suivant le caractère =

        La commande SET définit des nouvelles variables (%%A correspond à la première partie de chaque ligne, %%B correspond à la deuxième partie)

        La commande CALL appelle ton autre script .bat en lui transférant les variables que l'on a créé
        0