Script de script de lot CMD bizarre de% errorlevel%
-
07-11-2019 - |
Question
Dans le script ci-dessous, lorsqu'il y a une erreur SQL, %errorlevel%
est 0 - pourquoi est-ce?
IF %RELEASE% GTR 2 (
(
echo WHENEVER SQLERROR EXIT FAILURE
echo @release.sql
echo exit
) | sqlplus x/x@orcl
echo error: %errorlevel%
if %errorlevel% gtr 0 goto dberror
)
Si je supprime le bloc IF (ci-dessous),% ErrorLevel% n'est pas zéro! Pourquoi l'instruction IF affecte-t-elle le niveau d'erreur?
(
echo WHENEVER SQLERROR EXIT FAILURE
echo @release.sql
echo exit
) | sqlplus x/x@orcl
echo error: %errorlevel%
if %errorlevel% gtr 0 goto dberror
Mise à jour: Croyez que c'était la façon dont je testais une erreur. Je pense qu'au lieu de:
if %errorlevel% gtr 0 goto dberror
.. devrait utiliser:
if errorlevel 1 goto dberror
Lien utile ici
Pas de solution correcte
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow