Posez votre question Signaler

Batch if else [Résolu]

CrashOv3r 68Messages postés 9 mars 2009Date d'inscription - Dernière réponse le 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 .
Lire la suite 

Batch if else »

20 réponses
Réponse
+3
moins plus
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
theo7777 - 31 juil. 2010 à 07:45
Bonjour, si je tape ! ou ? rien s'affiche
Ajouter un commentaire
Réponse
+2
moins plus
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 )
Ajouter un commentaire
Réponse
+2
moins plus
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
KéKeCest !! - 31 juil. 2010 à 08:01
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.
Ajouter un commentaire
Réponse
+2
moins plus
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 ^^
Ajouter un commentaire
Réponse
+1
moins plus
c'est en batch que je veux le faire, pas en php ^^
KéKeCest !! - 31 juil. 2010 à 07:55
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";
}
XP3 - 2 févr. 2011 à 00:10
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
CéKiDonk ?? - 2 févr. 2011 à 06:08
Allllléluia !!...vous devriez votre code mon ami - au vu de sa complexité ca devrait intéresser grandement l'armée.
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
a oui comme ça , ça marche nikel !!
merci de ton aide ;)
a+
Ajouter un commentaire
Réponse
+0
moins plus
a oui pas bete ^^
mais a la place de mettre GTR 3, on pourrait pas mettre NEQ 1,2 and 3 ?
merci
Ajouter un commentaire
Réponse
+0
moins plus
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 ?
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
a ok, la j'ai bien compris ^^
merci
Ajouter un commentaire
Réponse
-1
moins plus
Oui tu peut mettre tout les valeur que tu veut mais pour ton batch il faut mettre 3.
Bilou.
Ajouter un commentaire
Réponse
-2
moins plus
Slt,

En php c'est peut être elseif et non else il me semble.
Ajouter un commentaire
Ce document intitulé « batch if else » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Windows 8 - À quoi s'attendre ?