Page 1 sur 1

errorlevel d'une boucle FOR

Posté : 06 nov. 2012 18:41
par agentj
Bonjour,

Malgré pas mal de recherches, je n'ai pas trouvé satisfaction.
J'ai une boucle FOR qui boucle sur les résultats d'une commande. Le problème est que, lorsque la commande échoue, la boucle FOR renvoie quand même un errorlevel qui vaut 0 (alors qu'il devrait valoir 1).

Je vous mets mon code pour que ce soit plus clair :

Code : Tout sélectionner

for /F "tokens=* eol=(" %%A in ('sqlcmd -s MonServeur -Q "SELECT * FROM toto"') Do (
    if errorlevel 1 echo ERREUR
    if errorlevel 0 echo PAS ERREUR
    Set MaVar=%%A
)
Même quand je mets un serveur inexistant, et que logiquement la requête plante (et donc la commande sqlcmd plante), j'obtiens le message "PAS ERREUR", signifiant qu'errorlevel est à false...

Une idée à propos de comment tester si la requête renvoie bien un résultat ou pas ?