Extraction des lignes sous DOS

Résolu
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
Configuration: Windows XP
Firefox 2.0.0.17

4 réponses

  1. Contributeur
    hjello
    essaye
    @echo off
    netstat -a | findstr "LISTENING" > protocol.txt
    for /f "tokens=1" %%i in ('type protocol.txt') do echo %%i
    1. 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
      1. Contributeur
        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 !!
        1. merciiiiiiiiiii:!! ca marche à merveille!! c exactement ce que je voulais!!
          t le meilleur