J'ai un petit problème en batch alors je fais appel à vos compétences
Je travaille sous Windows 2000. Je lance un script batch via l'api win32 (windows.h pas .NET) et souhaite teste dans mon code le retour du script
Pour cela j'opère ainsi 1/ Je crée un process qui lance mon batch 2/ J'attend la fin d'exection de ce dernier 3/ je teste le code de retour
En concentré cela donné cette séquence
Code :
CreateProcess
WaitForSingleObject
GetExitCodeProcess
Pour tester j'ai crée un fichier (test.bat) qui contient cette séquence
Code :
sleep(5)
exit /b 2
Je suis sous windows 2000 donc l'option /b fonctionne pour exit Or dans mon code appelant le code de retour est de 0 alors qu'il devrait être de 2 La preuve en est que lorsque je lance cmd.exe en lieu et place de mon script test.bat et tape les commandes du script dans l'invite de commande ce dernier se termine et le code d'erreur recupérer est bel et bien de 2
Si quelqu'un comprend quelquechose je le remercie d'avance
Marsh Posté le 24-04-2006 à 09:49:22
Bonjour à tous.
J'ai un petit problème en batch alors je fais appel à vos compétences
Je travaille sous Windows 2000.
Je lance un script batch via l'api win32 (windows.h pas .NET) et souhaite teste dans mon code le retour du script
Pour cela j'opère ainsi
1/ Je crée un process qui lance mon batch
2/ J'attend la fin d'exection de ce dernier
3/ je teste le code de retour
En concentré cela donné cette séquence
Pour tester j'ai crée un fichier (test.bat) qui contient cette séquence
Je suis sous windows 2000 donc l'option /b fonctionne pour exit
Or dans mon code appelant le code de retour est de 0 alors qu'il devrait être de 2
La preuve en est que lorsque je lance cmd.exe en lieu et place de mon script test.bat et tape les commandes du script dans l'invite de commande ce dernier se termine et le code d'erreur recupérer est bel et bien de 2
Si quelqu'un comprend quelquechose je le remercie d'avance