Bonjour,
Je veux récupérer la code retourné par un .exe lancé sur DOS. Je n'arrive pas à le faire. Quelle est la commande DOS qui le fait?
Merci d'avance.
Bonjour,
Je veux récupérer la code retourné par un .exe lancé sur DOS. Je n'arrive pas à le faire. Quelle est la commande DOS qui le fait?
Merci d'avance.
Salut,
Il me semble que c'est le rôle de la variable %ERRORLEVEL%
J'ai essayé cette variable. Elle me retourne 0. Il n y a en effet aucune erreur. Or que mon ".exe" devrait retourner une valeur selon le paramètre entré.
D:\>MonExe O (doit retourner 0)
D:\>MonExe N (doit retourner 0)
Sinon doit retourner 1
eMaylo, Guardian,
Finalement vous avez raison.
Cependant, ma précédente réponse est justifiée. Je vais vous décrire ce que j'ai modifié pour que ça marche. Puis, je vais vous poser une question pour savoir pourquoi ça n'a pas marché la 1ère fois.
En fait, j'ai utiliser la variable errorlevel, comme vous avez dit, dans un fichier ".bat". Et là ça marche
La première fois, j'ai écrit, sur la fenêtre DOS, les deux lignes, ci-dessous:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 :begin echo off call automatscenario.exe L if errorlevel 1 goto NiveauErreur1 if errorlevel 0 goto NiveauErreur0 :NiveauErreur0 Echo Erreur numero : %ErrorLevel% echo Je suis dans erreur 0 goto :EOF :NiveauErreur1 Echo Erreur numero : %ErrorLevel% echo Je suis dans erreur 1 goto :EOF
Ici, quelque soit la valeur du paramètre, la valeur affichée est 0.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 D:\>automatscenario L D:\>echo %ErrorLevel% 0
Je me dis qu'entre le temps d'écriture et exécution des deux lignes DOS, un autre processus s'est exécuté et a écrasé la variable ErrorLevel.
C'est juste une hypothèse, vu que je ne connais pas Windows.
Quelqu'un a-t-il une explication?
Merci à vous.
Partager