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 -
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
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
-
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!
-
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- 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éé
-