Valeur de retout commande en bat
Jcpas
-
priplou -
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 @++
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
-
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] -
%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 @++ -
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] -
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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. -
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] -
@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 ? -
1. Remplace
in ('echo %%A')
parin ('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] -
-
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.