Choix .bat

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

Ce message n’était pas conforme aux règles d’utilisation du nouveau forum :

MERCI

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

Salut,

Essayes ça, chez moi ça fonctionne (Windows 7) :



@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


[Photo supprimée]

je suis sur XP ,il me dit que “choice n’est pas reconnu en tant que commande interne ou externe”

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


est ce que t’en as une idée pour que je puisse faire le choix avec mon XP

Ben… oui je t’ai mis un code compatible XP dans mon dernier post

Ce message n’était pas conforme aux règles d’utilisation du nouveau forum :

MERCI BAEUCOUP ,A+


@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

j’ai changé de machine sous XP mais “choice” ne marche pas

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

Maintenant que tu le dis, ça me rappelle quelque chose …

Effectivement, mon fichier C:\WINDOWS\system32\choice.com n’a pas la même date que les autres !

J’ai la mémoire qui flanche, je m’souviens plus très bien …

fichier choice.com
remplacer pdf par com
http://www.cijoint.fr/cjlink.php?file=cj200912/cijPh1DuWi.pdf
Edité le 28/12/2009 à 14:27

MERCI a tous
est ce que vous avez une idée, comment ouvrir la liste des .exe avec la commande dos et inserer un fichier .exe la dessus?

Windows XP est un Windows NT : il n’y a pas de DOS. Et l’Invite de commandes n’est pas du DOS.

Que veux-tu faire exactement ? Je ne comprends pas ta question.

pour rectification,Dans l’invité de commande.

Très bien, mais ça n’explique toujours pas ce que tu veux faire : ça veut dire quoi, “ouvrir la liste des .exe et inserer un fichier .exe la dessus” ? :confused:

Tu veux les lister via l’IDC ? Enregistrer ensuite cette liste dans un fichier texte ?

Car à part te proposer de taper “dir/s/b/on “CheminDuDossier*.exe” > c:\liste.txt”, je vois mal comment répondre à ta demande avec si peu… :neutre: