errorlevel d'une boucle FOR

Une difficulté, une précision posez vos questions

Modérateur : WIN32-[GG]

Répondre
agentj
Batcheur occasionnel
Messages : 4
Enregistré le : 26 oct. 2012 15:12

errorlevel d'une boucle FOR

Message 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 ?
Répondre