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