Probléme de menu en batch

Probléme de menu en batch - Shell/Batch - Programmation

Marsh Posté le 15-11-2004 à 18:05:14    

Voila mon code

Code :
  1. @echo off
  2. cls
  3. REM PRESENTATION
  4. ECHO -- MENU --
  5. echo.
  6. echo.
  7. ECHO ****************
  8. echo 1 === SOURIS
  9. ECHO ****************
  10. echo 2 === EDITEUR
  11. ECHO ****************
  12. echo 3 === TEST DISK
  13. ECHO ****************
  14. Choice /c:[1][2][3] /n
  15. If Errorlevel 3 GOTO SCAN
  16. if errorlevel 2 GOTO EDIT
  17. if errorlevel 1 GOTO MOUSE
  18. :MOUSE
  19. c:\souris\imouse
  20. GOTO FIN
  21. :EDIT
  22. c:\dos\edit
  23. GOTO FIN
  24. :SCAN
  25. c:\dos\SCANdisk
  26. GOTO FIN
  27. :FIN


Il dois y avoir une erreur car quand je veu lancer  ' mouse ' il me lance EDIT , et quand je veu lancer " EDIT " il me lance SCAN .
 :??:  
Help me plz
THX


---------------
>>>>>>>>>>>>>>>>> http://www.jogging-athle.com <<<<<<<<<<<<<<<<<
Reply

Marsh Posté le 15-11-2004 à 18:05:14   

Reply

Marsh Posté le 15-11-2004 à 18:43:36    

Si mes souvenir son exacts, le code retour de choice n'est pas ce qui est saisi, mais son numéro d'ordre à partir de 0.
Donc : Choice /c:[1][2][3] /n
1=> 0
2=> 1
3=> 2
 
De même : Choice /c:[H][F][R] /n
H=> 0
F=> 1
R=> 2
 
Tu sais donc ce qui te reste à faire...


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 15-11-2004 à 18:52:17    

Désolé, il semble que j'ai dis une connerie :/


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 15-11-2004 à 19:49:29    

Oui effectivement j'ai essayer mais ca ne marche toujours pas ... QQ1 aurait une idée??


---------------
>>>>>>>>>>>>>>>>> http://www.jogging-athle.com <<<<<<<<<<<<<<<<<
Reply

Marsh Posté le 16-11-2004 à 09:54:17    

Oui mais sans utiliser la commande choice qui  n'éxiste pas sous win xp je te propose ca:
 
@echo off
cls
 
:top
 
REM PRESENTATION
 ECHO -- MENU --
 echo.
 echo.
 ECHO ****************
 echo 1 === SOURIS
 ECHO ****************
 echo 2 === EDITEUR
 ECHO ****************
 echo 3 === TEST DISK
 ECHO ****************
 
set choice=
set /p choice=quel est votre choix ?
 if not '%choice%'=='' set choice=%choice:~0,1%
 if '%choice%'=='1'  goto mouse
 if '%choice%'=='2'  goto edit
 if '%choice%'=='3'  goto scan
  echo Le choix %choice% n'est pas valide.
 echo.
 goto top
 
 :MOUSE
 c:\souris\imouse
 GOTO FIN
 :EDIT
 c:\dos\edit
 GOTO FIN
 :SCAN
 c:\dos\SCANdisk
 GOTO FIN
 :FIN

Reply

Marsh Posté le 17-11-2004 à 09:54:00    

Question peut-être idiote, mais as-tu vérifier que tu avais le fichier "choice.exe" ???  :??:  
 
Car si je ne me trompe pas, le fichier "choice" n'est plus dispo depuis win2000. Il faut le rajouter pour que ça fonctionne correctement.


---------------
Ce n'est pas parce que c'est difficile que nous n'osons pas, c'est parce que nous n'osons pas que c'est difficile
Reply

Marsh Posté le 17-11-2004 à 11:17:24    

choice est une variable dans ce script... stp ne dis pas n'importe quoi ... tu renforce pas ton image tiens je te le remets pour que tu comprenne mieux:
 
@echo off
cls
 
:top
 
REM PRESENTATION
 ECHO -- MENU --
 echo.
 echo.
 ECHO ****************
 echo 1 === SOURIS
 ECHO ****************
 echo 2 === EDITEUR
 ECHO ****************
 echo 3 === TEST DISK
 ECHO ****************
 
set var=
set /p var=quel est votre choix ?
 if not '%var%'=='' set var=%var:~0,1%
 if '%var%'=='1'  goto mouse
 if '%var%'=='2'  goto edit
 if '%var%'=='3'  goto scan
  echo Le choix %var% n'est pas valide.
 echo.
 goto top
 
 :MOUSE
 c:\souris\imouse
 GOTO FIN
 :EDIT
 c:\dos\edit
 GOTO FIN
 :SCAN
 c:\dos\SCANdisk
 GOTO FIN
 :FIN
 
donc g remplacé choice par var  histoire d'etre plus clair, ici la fonction que j'utilise c'est "SET /p" qui éxiste sous windows XP...

Reply

Marsh Posté le 17-11-2004 à 13:10:23    

J'avais bien vu que c'était une variable dans ton code... Mais ma question était pour troubleur, car lui utilise la fonction "choice" et non pas une variable... :non:  
 
Alors c'est pas la peine d'être agressif :

Citation :

tu renforce pas ton image tiens je te le remets pour que tu comprenne mieux:  

 
 
J'essaie juste d'aider...


---------------
Ce n'est pas parce que c'est difficile que nous n'osons pas, c'est parce que nous n'osons pas que c'est difficile
Reply

Marsh Posté le 17-11-2004 à 14:09:55    

euh bah désolé mais je pensais ke tu parlais de mon code ...
c byzar de poster après une résolution de problème ...

Reply

Marsh Posté le 17-11-2004 à 15:25:00    

Ya pas de mal.  
Par contre c'était pas vraiment clair que le problème est était résolu... Manque la possibilité d'éditer les titres de sujet pour y mettre "résolu".
 
Tant pis
 
 :hello:


---------------
Ce n'est pas parce que c'est difficile que nous n'osons pas, c'est parce que nous n'osons pas que c'est difficile
Reply

Marsh Posté le 17-11-2004 à 15:25:00   

Reply

Marsh Posté le 17-11-2004 à 19:26:47    

frenchlover a écrit :

Ya pas de mal.  
Par contre c'était pas vraiment clair que le problème est était résolu... Manque la possibilité d'éditer les titres de sujet pour y mettre "résolu".
 
Tant pis
 
 :hello:


 
SISI, c'est possible, pour troubleur !
 
Mais c'est pas sûr que le pb soit résolu vu qu'il n'a rien posté depuis la soluce pour XP à base de "set /p".
Si ça se trouve il a un bon vieux DOS ou win 9x :/
 
Donc je ne pense pas que le pb soit résolu...


Message édité par Mara's dad le 17-11-2004 à 19:27:20

---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 18-11-2004 à 09:29:23    

sinon je suis de l'avis de french lover pour la comande choice  il faut qu'elle soit présente sur la machine... et sous xp par exemple elle y est pas de base c'est pour ca que j'utilise set mais je sais que set existe sur presque toutes les os ...

Reply

Marsh Posté le 18-11-2004 à 09:46:27    

Pour ceux qui n'ont pas le cd de win98 pour récupérer "choice.exe" il est possible de le trouver sur internet...
 
Par exemple ici : http://www.liwing.de/produkte/dos/choice/download.htm


---------------
Ce n'est pas parce que c'est difficile que nous n'osons pas, c'est parce que nous n'osons pas que c'est difficile
Reply

Marsh Posté le 09-03-2006 à 17:45:23    

Merci DOD_edge !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed