Page 1 sur 1

[RESOLU] Problème question

Posté : 03 mai 2012 16:29
par Batcher_debutant
Bonjour à tous,

Pour tout vous dire, je viens de découbrir 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), et j'ai donc essayé ce script (une question devrait suffire à ce que vou 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 !! :D
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é n'a pas été trouvé"
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.

Re: Problème question

Posté : 04 mai 2012 11:48
par baba5180
Bonjour,

Le set /p ne prend pas en compte les mots pour l'utiliser il faut entrer un chiffre/nombre.

Pour te montrer j'ai modifier ton batch.

Voici le code qui fonctionne:

Code : Tout sélectionner

@echo off
echo Question : Quel genre de film aimes-tu ?

REM          Mettre des nombres/chiffres     
REM              |||||||||||||||
set /p choix= 1)combat 2) action


IF %choix% EQU 1 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
En esperant que cela puisse t'aider.

Re: Problème question

Posté : 04 mai 2012 12:25
par Batcher_debutant
Bonjour,

Tout d'abord je te remercie de ta réponse, elle me sera très certainement utile par la suite dans mes futurs programmes ! :)
En fait, ce que tu fais là n'est pas le principe que je recherche. Je m'explique : en faisant ta manipulation, on laisse à l'utilisateur le choix entre plusieurs réponses (numérotées). Mon programme vise à ce que l'utilisateur retrouve par lui-même la bonne réponse, sans propositions faites (comme le "cache" dans Tout le monde veut prendre sa place sur France2 si tu regardes ce genre d'émissions à la télé ;) ).
D'autre part, une autre personne m'a fait remarquer que le "set /p" devait posséder un espace entre le set et le p. Je veux bien le croire, seulement j'ai d'autres programmes où se "set/p" sans espace fonctionne : pourriez-vous m'expliquer en quoi cela diffère-t-il dans le programme ?

Merci de votre aide,
Btcher_debutant. :)

Re: Problème question

Posté : 04 mai 2012 21:01
par Batcher_debutant
Laissez tomber, j'ai trouvé l'erreur !! :D

Re: [RESOLU] Problème question

Posté : 04 mai 2012 23:38
par baba5180
J'aimerais bien voir ton programme quand il sera fini. Je sens que ca va m'aider pour mes programmations.

Re: [RESOLU] Problème question

Posté : 14 août 2012 16:53
par kaming
Salut à tous, voici selon moi un script qui devrait fonctionner.
Script:
echo off
cls
echo Question : Quel genre de films aimes-tu ?
set/p reponse=Reponse ici:
if %reponse%==Combat goto OK
cls
echo Mauvaise reponse!
pause >nul
cls
goto end
:OK
cls
echo Tu as parfaitement repondu !!
pause >nul
goto end
:end
cls
echo Ciao mec!
pause >nul
exit

En esperant que cela va aider quelques uns des batcheurs debutants,
je vous dit a+++ ;)