Rechercher : dans
Par :

Valeur de retout commande en bat

Dernière réponse le 31 oct 2007 à 14:20:49 Jcpas, le 30 jun 2004 à 16:17:48 
 Signaler ce message aux modérateurs

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 @++

Meilleures réponses pour « Valeur de retout commande en bat » dans :
Outlook - Interface non enregistrée VoirLorsque vous rédigez un courrier dans Outlook 2002 ou Outlook 2003, celui-ci affiche le message d'erreur suivant : Interface non enregistrée Pour y remédier : cliquer sur Démarrer / Exécuter saisir et valider la commande suivante :...
[MS-Dos] Commandes DOS de base VoirCes commandes sont des commandes de base que vous pouvez utiliser dans un prompt DOS, par exemple, sur une disquette de démarrage. Pour obtenir plus d'informations sur ces commandes, tapez (dans un prompt DOS), le nom de votre commande suivi de...
Comment récupérer le résultat d'une commande dans une variable VoirComment récupérer le résultat d'une commande dans une variable Préambule Syntaxe Exemples Préambule Il est bien souvent nécessaire de récupérer le résultat d'une commande (ou de son code retour) dans une variable afin de pouvoir...

1

grofwa, le 30 jun 2004 à 16:32:56

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]

Répondre à grofwa

2

Jcpas, le 30 jun 2004 à 16:47:50

%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 @++

Répondre à Jcpas

3

grofwa, le 30 jun 2004 à 17:01:11

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]

Répondre à grofwa

4

Jcpas, le 30 jun 2004 à 17:03:11

J'ai essayé mais alors comment fait on pour tester le fichier ?

Répondre à Jcpas

5

Jcpas, le 30 jun 2004 à 17:07:52

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.

Répondre à Jcpas

6

sebsauvage, le 30 jun 2004 à 17:10:36

Peut-être avec un start /wait tlist.exe -p processus.exe ?

Répondre à sebsauvage

7

grofwa, le 30 jun 2004 à 17:12:52

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]

Répondre à grofwa

8

Jcpas, le 30 jun 2004 à 17:36:04

@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 ?

Répondre à Jcpas

9

grofwa, le 30 jun 2004 à 17:41:40

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]

Répondre à grofwa

10

Jcpas, le 30 jun 2004 à 17:55:57

C'est bon marche !!!!

Merci a vous pour votre aide et votre rapidité.
@++

Répondre à Jcpas

11

 priplou, le 31 oct 2007 à 14:20:49

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.

Répondre à priplou
Collection CommentÇaMarche.net