Merci pour ta solution très astucieuse et efficace je l'ai
essayé. Cela mérite d'etre connu.
ljacques
Merci pour l'info ça fonctionne et c'est facile de mise en oeuvre
Coethium
Ha :D ben au moins je me serais pas cassé la tëte pour rien : dans ce cas il faut faire avec la méthode que j'ai donnée ;)
antp
Heu ouais ça existe que sous 2000/XP :(
ljacques
Merci pour ta réponse, j'ai essayé mais j'ai le message d'erreur:
commutateur invalide
Coethium
Antp > tu m'a appris qqch, merci ;)
ben sinon GT en train d'écrire ma réponse quand tu as donné la tienne
Coethium
Le plus simple c'est de faire un petit prog en assembleur : qui redirige l'entrée standard vers le registre AL (c'est à dire le Return Code) :
à partir d'ici (input.asm)
--------------
a100
mov ah,01
int 21
sub al,30
mov ah,4c
int 21
rcx
a
ninput.com
w
q ---------------
jusque là !
Tu le "compile" avec
debug < input.asm
ça génère input.com
Et dans ton .BAT tu écris un code du genre :
----------------
rem blabla
rem goto erreur ou goto ok
:Erreur
Echo 1 > Code.Txt
Goto Genere
: OK
Echo 0 > Code.Txt
:Genere
input < code.txt > nul ----------------
LE INPUT DOIT ETRE LA DERNIERE LIGNE DU .BAT
Enfin, le Return Code de ce .BAT est récupérable.
PS: Mon programme Input.com prend le code ascii et soustrait 0x30 (48d) ; ce qui permet d'avoir les valeurs de 0 à 9 en Return Code à partir du Code Ascii (de 0x30 (48d) à 0x39 (57d))
hyptos
Et tu utilises avec quel programme (ou comment) ce code RC ?
antp
exit /b 15
quitte le batch courrant avec un code 15
(le /b c'est pour dire de quitter le batch plutôt que de fermer la session cmd.exe)
hyptos
Tu parles de errorlevel dans un batch
Je ne crois pas que l'on sache sortir des codes pareilles après un batch.
Par contre, dans un batch tu peux des commandes comme xcopy ou find renvoie de tels codes
ljacques
Merci de me dire s'il existe une façon de procéder pour sortir
d'un fichier .bat ou .cmd avec un return code (RC=XX)
Ce .bat ou .cmd s'exécute sous MSDOS WINDOWS NT