Batch : problème de question ...

Fermé
Batcher_debutant - 3 mai 2012 à 22:47
 Batcher_debutant - 4 mai 2012 à 13:45
Bonjour,

Bonjour à tous,

Je viens de découvrir le batch il y a 2 jours, et ceci à l'air particulièrement intéressant. J'ai donc essayé de créer un batch où plusieurs questons successives sont posées à l'utilisateur (des questions ouvertes), l'utilisateur doit retrouver la bonne réponse sans proposition, et j'ai donc essayé ce script (une question devrait suffire à ce que vous puissiez identifier le problème :

@echo off
echo Question : Quel genre de film aimes-tu ?
set/p "choix=>"
IF %choix%==Combat goto Bonne_reponse
echo Bon, tu peux faire mieux à la question suivante
goto fin

:Bonne_reponse
echo Tu as parfaitement repondu !!
goto fin

:fin
pause

Le problème doit certainement se situer au set/p "choix=>" car lorsque j'entre Combat, un message apparaît me disant : "Le fichier spécifié est introuvable"
Avez-vous la solution ? Cela fait des heures que je cherche, et aucun site n'a l'air d'avoir abordé les questions ouvertes ....

Merci d'avance pour votre aide.

4 réponses

DR.Morpheus Messages postés 479 Date d'inscription mercredi 23 avril 2008 Statut Membre Dernière intervention 27 octobre 2012 83
3 mai 2012 à 23:00
tu formule mal ton choix %choix% il doit etre dans ton set

voila :

@echo off

set/p choix= Question : Quel genre de film aimes-tu ?
IF %choix%==Combat goto Bonne_reponse
echo Bon, tu peux faire mieux à la question suivante
goto fin

:Bonne_reponse
echo Tu as parfaitement repondu !!
goto fin

:fin
pause
0
Batcher_debutant
4 mai 2012 à 00:06
Tu as raison DR.Morpheus, cependant, et là doit être ma faute, il s'agit d'une succession de questions, et voici ce que j'ai inscrit :

:E
echo.
set/p choix1= Question : Quel est ton signe astrologique ?
IF %choix1%==Cancer goto Reussite1
echo Bon, tu peux faire mieux a la question suivante
goto F

:Reussite1
echo.
echo Je suis fier de toi !
goto F

:F
echo.
set/p choix2= Question : Quel est ton fruit prefere ?
IF %choix2%==Banane goto Reussite2
echo Bon, tu peux faire mieux a la question suivante
goto G

:Reussite2
echo.
echo Je suis fier de toi
goto G

:G
echo.
set/p choix3= Question : Quel est ton animal prefere ?
IF %choix3%==Canari goto Reussite3
echo J'avoue, c'est complique ! Donc pour simplifier la tache, c'est une race particuliere de chien.
IF %choix3%==Canari goto Reussite3
echo Bon, tu peux faire mieux a la question suivante
goto H

:Reussite3
echo.
echo Je suis fier de toi
goto H

:H
echo.
set/p choix4= Question : Quel est ta couleur preferee ?
IF %choix4%==Vert goto Reussite4
echo Bon, tu peux faire mieux a la question suivante
goto I

:Reussite4
echo.
echo Je suis fier de toi
goto I

:I
echo.
set/p choix5= Question : Quel est la couleur de mes yeux ?
IF %choix5%==Bleu goto Reussite5
echo Bon, tu peux faire mieux a la question suivante
goto Echec_final

:Reussite5
echo.
echo Je suis fier de toi
goto Fin

:Echec_final
echo Bon, tu pourras peut-etre mieux faire la prochaine fois
goto Fin

:Fin
pause

Et meme en appliquant ta méthode précédente, le message "Le fichier spécifié est introuvable" est toujours présent.... C'est désespérant grrrr

Merci d'avance pour vos réponses :D
Et merci à toi toi aussi DR.Morpheus ;)
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
4 mai 2012 à 00:27
Pourquoi set/p est-il tout attaché ?

C'est "set /p" avec un espace.
0
Batcher_debutant
4 mai 2012 à 11:12
Ah, je ne savais pas, merci. Pourtant, cela ne résoud toujours pas le problème, le même message s'affiche encore ^^
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
4 mai 2012 à 12:50
fais nous une capture decran du message
0
Batcher_debutant
4 mai 2012 à 13:45
Enfait, ca doit etre le commande CHOICE située avant qui doit faire échouer mon programme, car il marche sans ^^

echo.
echo Question : Qu'es-tu ?
echo.
echo reponse A : Geek
echo reponse B : Intello
echo reponse C : Beau Gosse
echo reponse D : Maniaque

CHOICE /C:ABCD

IF %ERRORLEVEL%==1 goto A
IF %ERRORLEVEL%==2 goto B
IF %ERRORLEVEL%==3 goto C
IF %ERRORLEVEL%==4 goto D

:A
echo.
echo Let's play CoD !
goto E

:B
echo.
echo Tu veux faire des Maths LOL
goto E

:C
echo.
echo J'ai des muscles x)
goto E

:D
echo.
echo C'est sale --'
goto E

:E
echo.
set/p choix1= Question : Quel est ton signe astrologique ?
IF %choix1%==Cancer goto Reussite1
echo Bon, tu peux faire mieux a la question suivante
goto F

:Reussite1
echo.
echo Je suis fier de toi
goto F

:F
echo.
set /p choix2= Question : Quel est ton fruit prefere ?
IF %choix2%==Banane goto Reussite2
echo Bon, tu peux faire mieux a la question suivante ;)
goto G

etc, etc :)

Auriez-vous une solution pour pallier à ce problème ?
Merci d'avance :D
0