Batch if else [Résolu/Fermé]

Messages postés
72
Date d'inscription
lundi 9 mars 2009
Statut
Membre
Dernière intervention
25 août 2013
- - Dernière réponse :  H34DSh0T - 24 févr. 2011 à 14:43
Bonjour,
je n'arrive pas a faire une condition si... alors sinon
set /p choix=Que voulez vous faire ? ( inscrivez le numero 1,2 ou 3 ) :
if "%choix%"=="1" (echo bonjour)
if "%choix%"=="2" ( echo coucou )
if "%choix%"=="3" (echo aurevoir)
else ( echo vous n'avez pas inscrit le bon numero )

lorsque j'inscris le numero 1,2 ou 3 j'ai bien le message qui correspond mais en dessous ça me met que le else n'est pas reconnu en tant que commande et si j'inscris le numero 4 par exemple ou autre j'aimerai obtenir le message "vous n'avez pas inscrit le bon numero " mais ça me met toujours le probleme du else .
Afficher la suite 

13 réponses

Meilleure réponse
Messages postés
771
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
24 février 2011
153
21
Merci
Sinon tu peut faire sans passer par la commande else:

if "%choix%"=="1" echo bonjour
if "%choix%"=="2" echo coucou
if "%choix%"=="3" echo aurevoir
if %choix% GTR 3 echo vous n'avez pas inscrit le bon numero
GTR Ve dire "supérieur à".
Tien voila un tableau de signe que j'ai fair:
EQU - égal à
NEQ - différent de
LSS - inférieur à
LEQ - inférieur ou égal à
GTR - supérieur à
GEQ - supérieur ou égal à


Voila même si le forum est déjà résolu j'espère t'avoir aidé.
Bilou

Dire « Merci » 21

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 69486 internautes nous ont dit merci ce mois-ci

theo7777
Messages postés
106
Date d'inscription
mercredi 24 mars 2010
Statut
Membre
Dernière intervention
12 janvier 2013
41 -
Bonjour, si je tape ! ou ? rien s'affiche
6
Merci
Hello !
Même si le sujet est résolu voici une solution.
@echo off
:deb
cls
set choix=ppppp
:: set choix=ppppp permet après le If %choix% EQU ppppp ce qui fait que même si on entre rien et bien il remet au début
set /p choix=Que voulez-vous faire ? (1, 2 ou 3)
If %choix% EQU ppppp echo /!\Choix Invalide ! &pause &goto deb
If %choix% EQU 1 echo Vous avez entr' 1 ! &pause &goto 1
If %choix% EQU 2 echo Vous avez entr' 2 ! &pause &goto 2
If %choix% EQU 3 echo Vous avez entr' 3 ! &pause &goto 3
echo /!\Choix Invalide ! &pause
goto deb
:1
rem Actions à faire si on entre 1.
:2
rem Actions à faire si on entre 2.
:3
rem Actions à faire si on entre 3.


A plouch ^^
Messages postés
72
Date d'inscription
lundi 9 mars 2009
Statut
Membre
Dernière intervention
25 août 2013
14
3
Merci
c'est en batch que je veux le faire, pas en php ^^
Re,

Le else doit être sur la même ligne que le if :

set /p choix=Que voulez vous faire ? ( inscrivez le numero 1,2 ou 3 ) :
if "%choix%"=="1" (echo bonjour)
if "%choix%"=="2" ( echo coucou )
if "%choix%"=="3" (echo aurevoir) else ( echo vous n'avez pas inscrit le bon numero )
theo7777
Messages postés
106
Date d'inscription
mercredi 24 mars 2010
Statut
Membre
Dernière intervention
12 janvier 2013
41 -
Bonjour KéKeCest !
Un probleme: si je tape 2 il affiche coucou et vous n'avez pas inscrit le bon numero
Oui en effet - je devais être saoul ce soir là (:>).

Avec un switch ca devrait aller :

set /p choix= "Que voulez vous faire ? (inscrivez le numéro 1,2 ou 3)" :
switch ("%choix%")
{
case "1" : echo "bonjour";
break;
case "2" : echo "coucou";
break;
case "3" : echo "au revoir";
break;
default : echo "vous n'avez pas inscrit le bon numero";
}
humm je ne vous en veux pas !! ^^ votre code ne marche pas mais mon code marche et c'est sertifier et tester !
@echo off
:reload
:1
:2
:3
cls
color a
set un=1
set deux=2
set trois=3
set /p choix=Entrer 1 / 2 ou 3:
if %choix%==%un% (
echo bonjour
pause>nul
goto 1
)
cls
color a
if %choix%==%deux% (
echo coucou
pause>nul
goto 2
)
cls
color a
if %choix%==%trois% (
echo au revoir
pause>nul
goto 3
)
cls
color a
echo vous n'avez pas iscrit le bon numero !
pause>nul
goto reload
Allllléluia !!...vous devriez votre code mon ami - au vu de sa complexité ca devrait intéresser grandement l'armée.
Messages postés
17894
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
31 octobre 2019
4491
1
Merci
hello
comme ça, sur 1 ligne
if "%choix%"=="1" (echo bonjour) else if "%choix%"=="2" ( echo coucou ) else if "%choix%"=="3" (echo aurevoir) else ( echo vous n'avez pas inscrit le bon numero )
Messages postés
771
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
24 février 2011
153
1
Merci
Non je crois tu na pas bien comprit.
Si l'utilateur repond 6 a la variable %choix%
Il ne vas pas afficher:
bonjour
ou
coucou
ou
aurevoir.

Mais vue que 6 est plus grand que 3 il va mettre:
vous n'avez pas inscrit le bon numero

Voila.
Bilou.
Messages postés
106
Date d'inscription
mercredi 24 mars 2010
Statut
Membre
Dernière intervention
12 janvier 2013
41
1
Merci
Bonjour il est possible en plusieurs lignes

if "%choix%"=="1" ( 
echo bonjour 
) else if "%choix%"=="2" ( 
echo coucou 
) else if "%choix%"=="3" ( 
echo aurevoir 
)  else echo vous n'avez pas inscrit le bon numero
Avec un switch ce sera peut être plus élégant (vois + haut).

(Note : le topic initial date de plus d'un an et est résolu mais merci pour lui.)

amicalement.
0
Merci
Slt,

En php c'est peut être elseif et non else il me semble.
Messages postés
72
Date d'inscription
lundi 9 mars 2009
Statut
Membre
Dernière intervention
25 août 2013
14
0
Merci
oui ça ne m'ecris plu l'erreur du else mais maintenant ça m'ecris toujours la phrase du else en + du choix que je fais.
Messages postés
72
Date d'inscription
lundi 9 mars 2009
Statut
Membre
Dernière intervention
25 août 2013
14
0
Merci
a oui comme ça , ça marche nikel !!
merci de ton aide ;)
a+
Messages postés
72
Date d'inscription
lundi 9 mars 2009
Statut
Membre
Dernière intervention
25 août 2013
14
0
Merci
a oui pas bete ^^
mais a la place de mettre GTR 3, on pourrait pas mettre NEQ 1,2 and 3 ?
merci
Messages postés
771
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
24 février 2011
153
0
Merci
Oui tu peut mettre tout les valeur que tu veut mais pour ton batch il faut mettre 3.
Bilou.
Messages postés
72
Date d'inscription
lundi 9 mars 2009
Statut
Membre
Dernière intervention
25 août 2013
14
0
Merci
oui mais je voulais dire, si c'est different du choix 1, du choix 2 et du choix 3 ( les 3 valeur en meme temp )
si c'etait possible ?
Messages postés
72
Date d'inscription
lundi 9 mars 2009
Statut
Membre
Dernière intervention
25 août 2013
14
0
Merci
a ok, la j'ai bien compris ^^
merci