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

Résolu
Zarwax -  
barnabe0057 Messages postés 14455 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

barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925
 
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
Zarwax Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
 
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
barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925 > Zarwax Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
 
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