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

Résolu/Fermé
Zarwax - Modifié le 20 févr. 2019 à 15:45
barnabe0057 Messages postés 14454 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 30 novembre 2024 - 20 févr. 2019 à 20:48
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
A voir également:

7 réponses

barnabe0057 Messages postés 14454 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 30 novembre 2024 4 918
20 févr. 2019 à 17:42
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 mercredi 20 février 2019 Statut Membre Dernière intervention 24 mars 2021
20 févr. 2019 à 18:17
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 14454 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 30 novembre 2024 4 918 > Zarwax Messages postés 18 Date d'inscription mercredi 20 février 2019 Statut Membre Dernière intervention 24 mars 2021
Modifié le 20 févr. 2019 à 18:26
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