Extraction des lignes sous DOS

Résolu/Fermé
mya1 Messages postés 334 Date d'inscription samedi 5 juillet 2008 Statut Membre Dernière intervention 28 janvier 2013 - 10 juin 2009 à 16:20
mya1 Messages postés 334 Date d'inscription samedi 5 juillet 2008 Statut Membre Dernière intervention 28 janvier 2013 - 11 juin 2009 à 10:01
Bonjour,
je suis en train de réaliser des programmes sous batch et j'aimerai bien que qq1 m'aide dans mon pb qui px vous paraitre débile,
bon voilà ce que je dois faire: je dois lancer une commande netstat -a rediriger le resultat dans un fichier, parcourir ce fichier en cherchant le mot "LISTENING" et puis afficher le protocol qui est en mode LISTENING( ou ce protocol existe sur tokens=1, ss arrivée à faire ce bout de code, mais j'arrive pas à extraire les lignes qui contiennet le mot LISTENING

@echo off
netstat -a > protocol.txt
for /f "tokens=1" %%i in ('type protocol.txt') do if find "LISTENING" echo %%i
pause


Merci d'avance

4 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
10 juin 2009 à 16:55
hjello
essaye
@echo off
netstat -a | findstr "LISTENING" > protocol.txt
for /f "tokens=1" %%i in ('type protocol.txt') do echo %%i
0
mya1 Messages postés 334 Date d'inscription samedi 5 juillet 2008 Statut Membre Dernière intervention 28 janvier 2013 42
10 juin 2009 à 17:09
ouiii ca marche nickel!! merci dubcek infiniement

entre autre j'ai essayé ce code mais ca ne m'affichait que la 1ère ligne:
@echo off
for /F "tokens=1" %%i in ('netstat -a ^|find "LISTENING"') do set Protocol=%%i
echo %Protocol%
pause

mais bon celui que tu m'a filé marche à merveille remerci
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
11 juin 2009 à 07:25
essaye

@echo off
setlocal enableDelayedExpansion
for /F "tokens=1,2" %%i in ('netstat -a ^|findstr "LISTENING"') do (
set protocole=%%i
set service=%%j
echo !protocole! !service! )

le setlocal est nécessaire pour que les valeurs dans la boucle soient réassignées, les commandes sont groupées entre () et on doit utiliser les variables dans la boucle avec !variable! plutot que %variable%,
c'est DOS tout ça !!
0
mya1 Messages postés 334 Date d'inscription samedi 5 juillet 2008 Statut Membre Dernière intervention 28 janvier 2013 42
11 juin 2009 à 10:01
merciiiiiiiiiii:!! ca marche à merveille!! c exactement ce que je voulais!!
t le meilleur
0