Mettre des lignes d'un Txt dans des variables

Résolu/Fermé
Kheno Messages postés 5 Date d'inscription jeudi 22 octobre 2015 Statut Membre Dernière intervention 19 juillet 2016 - Modifié par Kheno le 25/04/2016 à 17:13
Kheno Messages postés 5 Date d'inscription jeudi 22 octobre 2015 Statut Membre Dernière intervention 19 juillet 2016 - 25 avril 2016 à 21:56
Bonjour,

J'ai parcouru quelques forums où j'ai trouvé des éléments de réponse, mais je n'arrive pas à terminer mon .bat... Je souhaiterais donc avoir vos lumières.
Je vais donc partir d'un fichier txt étant généré à partir d'un "Netstat" du genre:

Connexion actives
Proto Adresse locale Adresse distante
TCP 10.156.46.150:62472 CPTXXXXXXXXX:netbios-ssn...
TCP 10.156.46.150:62482 SWMXXXXXXXXX:5061...
TCP 10.156.46.150:62516 SWMXXXXXXXXX:ms-wbt-server...
TCP 10.156.46.150:62529 10.154.176.227:60450...
TCP 10.156.46.150:62539 CPBXXXXXXXXX:ms-wbt-server...
TCP 10.156.46.150:62544 CPJXXXXXXXXX:ms-wbt-server...
TCP 10.156.46.150:62482 SWTXXXXXXXXX:5061...


Le but du batch est d'afficher toutes les lignes contenant "ms-wbt-server"
Pour le moment j'avais:
For /f "tokens=* delims=" %%a in ('type test.txt ^| Find /i "ms-wbt-server"') do set Var1=%%a

Cela fonctionnait bien tant qu'il n'y avait qu'une seule ligne...

En sachant que le nombre de ligne qui m’intéresse peut changer d'un txt à un autre, serait il possible de faire un script pouvant créer le nombre de variable adéquat et y mettre une ligne à chaque fois ?
Exemple dans le cas du fichier plus haut:
Mettre "TCP 10.156.46.150:62516 SWMXXXXXXXXX:ms-wbt-server..." dans un variable "Var1"
Mettre "TCP 10.156.46.150:62539 CPBXXXXXXXXX:ms-wbt-server..." dans un variable "Var2"
etc...

J'espère que c'est compréhensible ^^

1 réponse

Kheno Messages postés 5 Date d'inscription jeudi 22 octobre 2015 Statut Membre Dernière intervention 19 juillet 2016
25 avril 2016 à 21:56
C'est bon en fait, j'ai réussi à me dépatouiller, j'ai quelque chose comme ça:


SETLOCAL ENABLEdelayedExpansion

for /f "tokens=* delims=" %%a in ('type test.txt ^| Find /i "ms-wbt-server"') do cls & set Var!Vnomb!=%%a & set /a Vnomb=!Vnomb!+1


Du coup il ne me reste plus qu'à ressortir mes variable (Var1, Var2...) quand j'en ai besoin.
0