Instructions if / then / else dans le lot Windows
Dans un script shell, j'ai le code suivant:
if echo Mr.32 ; then
echo Success
else
echo Failed
exit
fi
Quel est l'équivalent de la syntaxe pour Windows fichiers batch?
source d'informationauteur Jeegar Patel
Vous devez vous connecter pour publier un commentaire.
Je vais avoir un moment difficile envisager lors de l'ÉCHO échoue avec un retour ERRORLEVEL pas égale à 0. Je suppose qu'il pourrait échouer si la sortie a été redirigée vers un fichier et le lecteur de destination est plein.
CptHammer a affiché une bonne solution à l'aide de ERRORLEVEL, bien qu'il utilise GOTO inutilement. Il peut être fait sans GOTO à l'aide de:
Il y a un moyen plus simple de prendre des mesures sur la RÉUSSITE ou l'ÉCHEC de toute commande.
Dans votre cas
Je pense que quelque chose comme cela pourrait faire l'affaire:
Cela suppose que la commande que vous souhaitez tester (ici: echo M. 32) renvoie 0 en cas de succès et quelque chose de plus élevé en cas d'échec (ATTENTION : Echo dans la plupart des système d'exploitation windows sera de retour rien et, par conséquent, la valeur réelle qui est testé en ce script est probablement le code de retour de la dernière commande exécutée juste avant le script. vous êtes probablement mieux de tester avec la commande : "DIR someFile.txt" qui retourne 0 si somefile.txt existe et 1 sinon.)
Il est vrai que dbenham a souligné, que cette structure utilise beaucoup de GOTO. C'est parce que ce GOTO structure est la seule qui sera compris de beaux dans toutes les versions de windows. La version compacte est apparu avec le temps, mais ils ne fonctionne que sur les versions récentes de windows.