Batch : problème de question ...

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

  1. 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
    1. 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 ;)
      1. Contributeur
        Pourquoi set/p est-il tout attaché ?

        C'est "set /p" avec un espace.
        1. Ah, je ne savais pas, merci. Pourtant, cela ne résoud toujours pas le problème, le même message s'affiche encore ^^
        2. Contributeur
          fais nous une capture decran du message
      2. 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