Probleme variable batch

Résolu
thetataz -  
 thetataz -
Bonjour a tous,

Je suis en train de me faire un batch qui automatise plusieurs chose (j'avait avant 5 batch qui marchait parfaitement). En fait ce batch va faire la meme chose que les 5 autres ,mais en un seul batch.

Donc voici la structure de mon menu :

@ECHO OFF
CLS

ECHO Choisir options :
ECHO 1. option 1
ECHO 2. option 2
ECHO 3. option 3
ECHO 4. option 4
ECHO 5. option 5
ECHO 6. Quit
ECHO.



SET /p choixmenu = taper un chiffre entre 1 et 5 :
IF choixmenu == "1" GOTO :1
IF choixmenu == "2" GOTO :2
IF choixmenu == "3" GOTO :3
IF choixmenu == "4" GOTO :4
IF choixmenu == "5" GOTO :5
IF choixmenu == "5" GOTO :fin
echo %choixmenu% n'est pas bon !
GOTO :menu


:1
ECHO 1
PAUSE
GOTO :fin

:2
ECHO 2
PAUSE
GOTO :fin

:3
ECHO 3
PAUSE
GOTO :fin

:4
ECHO 4
PAUSE
GOTO :fin

:5
ECHO 5
PAUSE
GOTO :fin

:fin
EXIT


Voila a quoi sa resemble, rien de bien compliquer, mais le probleme vien du fait que peu importe le chiffre choisi, il m'affiche la balise :1.
J'ai beau rechercher sur le net, je trouve des code similaire a celui ci.

merci de votre aide.
Configuration: Windows 7
Firefox 3.5.7

2 réponses

  1. cs-bilou Messages postés 836 Statut Membre 164
     
    Bon alors voilà où est le problème:
    IF choixmenu == "1" GOTO :1
    IF choixmenu == "2" GOTO :2
    IF choixmenu == "3" GOTO :3
    IF choixmenu == "4" GOTO :4
    IF choixmenu == "5" GOTO :5
    IF choixmenu == "5" GOTO :fin


    Il te manque les % autour des choixmenu.
    De plus si tu met "1" d'un coter de l'illégalité il faut mettre aussi les " a %choixmenu%. Mais je te conseille de les mettre nulle part.
    Enfin pour la dernière ligne IF choixmenu == "5" GOTO :fin change plutôt le 5 en 6.

    Voilà le code quand tout a était modifier:
    @ECHO OFF
    CLS
    
    ECHO Choisir options :
    ECHO 1. option 1
    ECHO 2. option 2
    ECHO 3. option 3
    ECHO 4. option 4
    ECHO 5. option 5
    ECHO 6. Quit
    ECHO.
    
    
    
    SET /p choixmenu=Taper un chiffre entre 1 et 5 :
    IF %choixmenu% == 1 GOTO :1
    IF %choixmenu% == 2 GOTO :2
    IF %choixmenu% == 3 GOTO :3
    IF %choixmenu% == 4 GOTO :4
    IF %choixmenu% == 5 GOTO :5
    IF %choixmenu% == 6 GOTO :fin
    echo %choixmenu% n'est pas bon !
    GOTO :menu
    
    
    :1
    ECHO 1
    PAUSE
    GOTO :fin
    
    :2
    ECHO 2
    PAUSE
    GOTO :fin
    
    :3
    ECHO 3
    PAUSE
    GOTO :fin
    
    :4
    ECHO 4
    PAUSE
    GOTO :fin
    
    :5
    ECHO 5
    PAUSE
    GOTO :fin
    
    :fin
    EXIT
    


    Bilou.
    0