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 @++
A voir également:

10 réponses

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
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
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
Jcpas
 
J'ai essayé mais alors comment fait on pour tester le fichier ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
sebsauvage Messages postés 33415 Statut Modérateur 15 667
 
Peut-être avec un start /wait tlist.exe -p processus.exe ?
0
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
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
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
Jcpas
 
C'est bon marche !!!!

Merci a vous pour votre aide et votre rapidité.
@++
0
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