MSDOS sortie d'un fichier .bat ou .cmd

MSDOS sortie d'un fichier .bat ou .cmd - Windows & Software

Marsh Posté le 05-06-2002 à 16:58:03    

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

Reply

Marsh Posté le 05-06-2002 à 16:58:03   

Reply

Marsh Posté le 05-06-2002 à 17:21:58    

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

Reply

Marsh Posté le 05-06-2002 à 17:35:05    

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)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 05-06-2002 à 17:45:38    

Et tu utilises avec quel programme (ou comment) ce code RC ?

Reply

Marsh Posté le 05-06-2002 à 17:50:41    

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))


Message édité par Coethium le 06-05-2002 à 17:51:39
Reply

Marsh Posté le 05-06-2002 à 17:52:38    

Antp > tu m'a appris qqch, merci ;)
ben sinon GT en train d'écrire ma réponse quand tu as donné la tienne

Reply

Marsh Posté le 05-06-2002 à 18:30:05    

Merci pour ta réponse, j'ai essayé mais j'ai le message d'erreur:
commutateur invalide

Reply

Marsh Posté le 05-06-2002 à 20:36:18    

Heu ouais ça existe que sous 2000/XP :(


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 06-06-2002 à 09:05:15    

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 ;)

Reply

Marsh Posté le 07-06-2002 à 09:18:49    

Merci pour l'info ça fonctionne et c'est facile de mise en oeuvre

Reply

Marsh Posté le 07-06-2002 à 09:18:49   

Reply

Marsh Posté le 07-06-2002 à 09:22:28    

Merci pour ta solution très astucieuse et efficace je l'ai
essayé. Cela mérite d'etre connu.

Reply

Marsh Posté le 07-06-2002 à 10:52:18    

de rien ;)
 
dis-moi... tu radotes, c'est l'âge ? :D :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed