Valeur de retout commande en bat

Jcpas -  
 priplou -
Lut tt le monde.
Dans un script .bat j'utilise un exe (tlist.exe) qui renvoit le pid du processus demandé et -1 si le processus n'existe pas.
J'aimerai savoir comment recupere cette valeur de retour dans le script afin de lancer un prog si un processus n'existe pas.
Merci et @++

10 réponses

  1. grofwa Messages postés 440 Statut Membre 479
     
    Salut,

    Tu peux tester la valeur de %ERRORLEVEL%.
    Il y a une astuce avec ça, je t'invite à lire ce document, que j'utilise souvent comme référence pour tout ce qui est scripting, spécialement sous DOS :
    http://www.robvanderwoude.com/errorlevel.html

    Bàt

    Michael.

    Ne vous souciez pas de n'être pas remarqué ; cherchez 
    plutôt à faire quelque chose de remarquable [Confucius]
    1
  2. Jcpas
     
    %errorlevel% nous indique si une commande n'a pas pu etre execute nan ?
    Parce que moi la commande s'execute et renvoie une valeur. C'est cette valeur renvoyé que je veux recuperer. La commande c'est tlist.exe -p processus.exe.

    Merci @++
    0
  3. grofwa Messages postés 440 Statut Membre 479
     
    Personnellement, je suis sous xp et la commande tlist a été mutée en tasklist qui se conduit peut-être différemment. Si ça ne marche pas avec %errorlevel%, essaie
    tlist -p processus.exe > fic.txt

    et teste le fichier...

    Michael.

    Ne vous souciez pas de n'être pas remarqué ; cherchez 
    plutôt à faire quelque chose de remarquable [Confucius]
    0
  4. Jcpas
     
    J'ai essayé mais alors comment fait on pour tester le fichier ?
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Jcpas
     
    tlist.exe -p processus.exe
    if %errorlevel% == -1 echo Le processus n'est pas lance

    C'est bien ca que tu voulais dire ?
    J'ai testé %errorlevel%, il vaut toujours 0 que le processus soit lancé ou pas.
    0
    1. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
       
      Peut-être avec un start /wait tlist.exe -p processus.exe ?
      0
  7. grofwa Messages postés 440 Statut Membre 479
     
    Ok, c'est que tlist renvoie 0 meme si ton processus n'existe pas.

    utilise donc l'autre idée. Tu peux utiliser FOR /F pour tester les valeurs dans ton fichier

    Jette un coup d'oeil sur ce document :
    http://www.robvanderwoude.com/ntfortokens.html

    Michael.

    Ne vous souciez pas de n'être pas remarqué ; cherchez 
    plutôt à faire quelque chose de remarquable [Confucius]
    0
  8. Jcpas
     
    @echo off
    tlist.exe -p processus.exe > test.txt
    for /F "tokens=1 delims= " %%A in ('echo %%A') do if "%%A"=="-1" echo Le processus n'est pas lance

    Ca marche po :'(. Il y a une erreur ou pas ?
    0
  9. grofwa Messages postés 440 Statut Membre 479
     
    1. Remplace
    in ('echo %%A')

    par
    in ('type test.txt')


    2. As-tu vérifié que c'était bon dans test.txt ?

    Ne vous souciez pas de n'être pas remarqué ; cherchez 
    plutôt à faire quelque chose de remarquable [Confucius]
    0
  10. Jcpas
     
    C'est bon marche !!!!

    Merci a vous pour votre aide et votre rapidité.
    @++
    0
  11. priplou
     
    Bonjour,
    Je souhaite avoir la valeur de retour d'une commande (qui retourne un tableau de données) en commande bat pour filtrer les lignes de ce tableau. Est ce que vous auriez une solution pour ça?
    Merci.
    0