Mettre des lignes d'un Txt dans des variables
Résolu
Kheno
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
Kheno Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
Kheno Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
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:
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 ^^
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 ^^
A voir également:
- Mettre des lignes d'un Txt dans des variables
- Partager des photos en ligne - Guide
- Comment supprimer des lignes dans un tableau word - Guide
- Écrire plusieurs lignes dans une cellule excel mac - Guide
- Somme des lignes excel - Guide
- Excel trier par ordre alphabétique en gardant les lignes - Guide
1 réponse
C'est bon en fait, j'ai réussi à me dépatouiller, j'ai quelque chose comme ça:
Du coup il ne me reste plus qu'à ressortir mes variable (Var1, Var2...) quand j'en ai besoin.
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.