Batch code retour [Résolu/Fermé]

Signaler
Messages postés
299
Date d'inscription
dimanche 2 novembre 2008
Statut
Membre
Dernière intervention
20 novembre 2014
-
Messages postés
299
Date d'inscription
dimanche 2 novembre 2008
Statut
Membre
Dernière intervention
20 novembre 2014
-
Bonjour,

J'ai un batch qui exécute un autre batch par un call.
J'aimerai pouvoir récupérer le code retour de mon call afin d'effectuer des actions selon ce dernier.

Voici mon code mais j'ai toujours 1 en errorlevel alors que je devrais avoir 3 car pour mes tests, le chemin C:\launch.exe n'existe pas.
Il me semble que le errorlevel de mon 1er batch correspond au code retour du call et non du batch appelé ?

1er batch:
for /f "delims=" %%i in (%1) do (
	set date=%%i
)

call reprise.bat %date%

if %errorlevel% 1 goto OK
if not %errorlevel% 1 goto KO

:OK
set /A date=%date%+1
echo %date% > %1

:KO
echo Erreur: code retour %errorlevel%


2ème batch:

set PATH=C:\
set USER=admin
set PASSWORD=password


%PATH%\launch.exe -u %USER% -p %PASSWORD%



5 réponses

Messages postés
299
Date d'inscription
dimanche 2 novembre 2008
Statut
Membre
Dernière intervention
20 novembre 2014
6
J'ai testé et voilà ce que j'ai en sortie:

Le chemin d'accès spécifié est introuvable.
3
Commande ECHO désactivée.

%PATH%\arsdoc.exe get -u %USER% -p %PASSWORD% -h %HOST% -v %GF1% -i "where DATE_EMISSION = '%DATE_EMISSION%'" -o %INDEX%
echo %errorlevel%
set return_code = %errorlevel%
echo %return_code%
Messages postés
18242
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
13 juin 2021
5 308
et dans cet ordre, sans espaces, sinon c'est le %errorlevel% de echo qui est assigné
%PATH%\arsdoc.exe ...........
set return_code=%errorlevel%
echo %return_code%
Messages postés
299
Date d'inscription
dimanche 2 novembre 2008
Statut
Membre
Dernière intervention
20 novembre 2014
6
J'ai également testé dans cet ordre et j'ai le même résultat !
Messages postés
299
Date d'inscription
dimanche 2 novembre 2008
Statut
Membre
Dernière intervention
20 novembre 2014
6
Autant pour moi j'avais laissé les espaces.
Du coup je retourne bien 3 dans return_code.

Merci pour ton aide.
Messages postés
18242
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
13 juin 2021
5 308
hello
utiliser une autre variable ?
%PATH%\launch.exe -u %USER% -p %PASSWORD%
set code=%errorlevel%
et tester %code% dans le bat appellant