salut,comment faire un choix dans un fichier ( .bat ) ? j’ai deja essayé quelque commande mais ca ne me donne pas du choix
.
.
. echo “pomme ou mangue”
choice /C:ab si tu choisis pomme taper “a” sinon “b”.on te donne 15 seconde.
/T:a,15
if errorlevel=1 goto a
if errorlevel=2 goto b
:a
echo BON CHOIX
goto :fin
:b
echo MAUVAIS CHOIX
:fin
je vous demande qu’est ce qui manque dans ces commandes ou qu’est ce n’est pas valide
et si vous pouvez me donnez le bon code pour faire le petit programme d’etablir un choix, MERCI
Ca ne doit pas être if errorlevel=1 mais if errorlevel==1
Regarde l’utilsation de IF ERRORLEVEL dans l’aide (dans ta fenêtre de commande, tu tapes IF /?)
et pourquoi goto a et goto b (sans les “:”), et par contre plus loin goto :fin ?
if errorlevel 1
et aussi les errorlevel doivent etre dans le sens décroissant 2 1, sans quoi, c’est toujours la 1 qui est exécutée
et la première ligne, c’est @echo off ce qui évite de voir les commandes apparaitre a l’écran (en option)
Edité le 26/12/2009 à 11:11
j’ai deja corriger mais j’arrive toujours pas,il ne me donne pas de choix ,il lance :a et apres :b ,aidez moi
…
…
…
echo “pomme ou mangue”
choice /C:ab si tu choisis pomme taper “a” sinon “b”.on te donne 15 seconde.
/T:a,15
if errorlevel==2 goto :a
if errorlevel==1 goto :b
:a
echo BON CHOIX
goto :fin
:b
echo MAUVAIS CHOIX
:fin
@echo off
echo Pomme ou mangue
rem echo. permet de sauter une ligne
echo.
echo Si tu choisis pomme tapes "a" sinon "b". On te donne 15 secondes.
choice /C:ab /D:a /T:15
if errorlevel==2 goto :a
if errorlevel==1 goto :b
:a
echo BON CHOIX
goto :fin
:b
echo MAUVAIS CHOIX
:fin
Ah oui en fait la commande choice n’existe pas dans Windows XP. Elle existait dans les versions précédentes de Windows et a fait son retour avec plus d’options sous Vista.
Essayes ça, ça devrait fonctionner sous XP (j’ai utilisé la commande set pour simuler la commande choice) :
@ECHO off
cls
:start
echo.
echo Faites le bon choix !
echo.
echo a) Pomme
echo b) Mangue
echo.
set choice=
set /p choice=Tapez "a" pour choisir pomme et "b" pour choisir mangue.
echo.
if not '%choice%'=='' set choice=%choice:~0,1%
if '%choice%'=='a' goto OK
if '%choice%'=='b' goto NOK
echo "%choice%" n'est pas valide, essayez a nouveau.
echo.
goto start
:OK
echo BON CHOIX
goto end
:NOK
echo MAUVAIS CHOIX
goto end
:end
@echo off
echo "pomme ou mangue ? "
choice /C:ab Si tu choisis pomme taper “a” sinon “b”. On te donne 5 secondes /T:a,5
if errorlevel 2 goto b
if errorlevel 1 goto a
:a
echo pomme
goto fin
:b
echo mangue
:fin
Je suis sous XP et ce batch fonctionne parfaitement
Naturellement, il faut le lancer par un fichier.bat, et non pas utiliser les commandes en ligne
A l’origine, CHOICE n’existe pas en XP (tu as plein de messages la dessus sur Google).
Donc soit tu te le récupères en tant que commande externe, soit tu utilises en la méthode avec le SET /P qui t’est proposée plus haut
Edité le 28/12/2009 à 19:55