Page 1 sur 1

[RESOLU] probleme de prise en compte taille d'une variable

Posté : 01 août 2011 23:21
par titi54290
bonjour a tous,

j'ecrit un batch pour realiser un menu pour installer des logiciel.le probleme c'est que mon batch me prend en compte les choix de 1 a 9 mais pas de 10 a 15.
je joint une copie du batch,
merci a tous d'avance pour votre aide

copie du batch

@echo off

:menu
cls
echo installation de logiciel
echo.
echo saisissez le num,ro correspondant au logiciel que vous souhaitez installer
echo.
echo 1: installer Microsoft Office 2003
echo.
echo 2: installer Microsoft office 2007
echo.
echo 3: installer Open Office
echo.
echo 4: installer ACID
echo.
echo 5: installer Acrobat Reader
echo.
echo 6: installer JAVA
echo.
echo 7: installer FIREFOX
echo.
echo 8: installer THUNDERBIRD
echo.
echo 9: installer FLASH PLAYER
echo.
echo 10: installer super copier
echo.
echo 11: installer XNVIEW
echo.
echo 12: installer VLC
echo.
echo 13: installer Seven Zip
echo.
echo 14: installer Internet Explorer 8
echo.
echo 15: quitter ce programme
echo.
echo ----------------------------------------------------------------------------
echo.
echo.
choice /C:123456789101112131415 veuillez saisir votre choix :
rem if %errorlevel 255 goto erreur
if %errorlevel%==1 goto office2003
if %errorlevel%==2 goto office2007
if %errorlevel%==3 goto openoffice
if %errorlevel%==4 goto acid
if %errorlevel%==5 goto acrobat_reader
if %errorlevel%==6 goto java
if %errorlevel%==7 goto firefox
if %errorlevel%==8 goto thunderbird
if %errorlevel%==9 goto flash_player
if %errorlevel%==10 goto super_copier
if %errorlevel%==11 goto xnview
if %errorlevel%==12 goto vlc
if %errorlevel%==13 goto sevenzip
if %errorlevel%==14 goto ie8
if %errorlevel%==15 goto quitter
rem :erreur
rem echo il y a une erreur
rem goto fin

:office2003
start D:/antivirus/PC-Cillin-9.03fr.exe
goto quitter

:office2007
start D:\muse\ISATIS.pdf
goto quitter

:openoffice
start D:/antivirus/PC-Cillin-9.03fr.exe
goto quitter

:acid
start D:/antivirus/PC-Cillin-9.03fr.exe
goto quitter

:acrobat_reader
start D:/antivirus/PC-Cillin-9.03fr.exe
goto quitter

:java
start D:/antivirus/PC-Cillin-9.03fr.exe
goto quitter

:firefox
start D:/antivirus/PC-Cillin-9.03fr.exe
goto quitter

:thunderbird
start D:/antivirus/PC-Cillin-9.03fr.exe
goto quitter

:flash_player
start D:/antivirus/PC-Cillin-9.03fr.exe
goto quitter

:super_copier
start D:/antivirus/PC-Cillin-9.03fr.exe
goto quitter

:xnview
start D:/antivirus/PC-Cillin-9.03fr.exe
goto quitter

:vlc
start D:/antivirus/PC-Cillin-9.03fr.exe
goto quitter

:sevenzip
start D:/antivirus/PC-Cillin-9.03fr.exe
goto quitter

:ie8
start D:/antivirus/PC-Cillin-9.03fr.exe
goto quitter

:quitter
pause
goto menu
:q

Re: probleme de prise en compte taille d'une variable

Posté : 02 août 2011 10:09
par Cmanix
bonjour, je n'utilise pas la commande choice, mais je comprend que "12345678910111213..." soit interprété par la commande "1-2-3-4-5-6-7-8-9-1-0-1-1-1-2-1-3-...." . essaye de trouver une approche différente pour lui faire comprendre que c'est bien 10-11-12 et pas 1-0-1-1-1-2. Ou sinon utilise "set /p" .

Re: probleme de prise en compte taille d'une variable

Posté : 03 août 2011 11:11
par erfan88230
Ton problème et bien que Choice ne peut pas prendre deux caractère ..

Donc:
1ère solution : Découpage de variable
2ème solution : Utiliser la commande set /p a=
Je t'explique :
Cette commande permet de demander a l'utilisateur un mot/chiffre etc... et de l'enregistrer comme une variable.
Donc a la place de Choice et de tes 15 errorlevel marque:

Code : Tout sélectionner

set /p a=
if %a%==1 goto office2003
if %a%==2 goto office2007
if %a%==3 goto openoffice
if %a%==4 goto acid
if %a%==5 goto acrobat_reader
if %a%==6 goto java
if %a%==7 goto firefox
if %a%==8 goto thunderbird
if %a%==9 goto flash_player
if %a%==10 goto super_copier
if %a%==11 goto xnview
if %a%==12 goto vlc
if %a%==13 goto sevenzip
if %a%==14 goto ie8
if %a%==15 goto quitter
3ème solution:
Changer les chiffre 10 11 12 13 14 15 par des lettre simple

Re: probleme de prise en compte taille d'une variable

Posté : 03 août 2011 16:52
par WIN32-[GG]
Autre solution; plus compliqué mais plus jolie:
Créé des "sous-menu":
Bureaucratie:
_OFFICE 2003
_OFFICE 2010
etc...

Et là tu peux utiliser choice

Re: probleme de prise en compte taille d'une variable

Posté : 03 août 2011 20:24
par titi54290
merci a tous,j'ai appliquer la solution avec definitionde variable set /p et cela fonctionne,merci a tous

Re: probleme de prise en compte taille d'une variable

Posté : 03 août 2011 20:41
par WIN32-[GG]
Bien, donc sujet résolu!