Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
Sélécteur
Auteur Message
Répondre en citant
Message Sélécteur 
Escusez moi, je débute dans le batch et j'ai un problème :
j'ai créé un petit programme avec un sélécteur de type :

[
Code:
set /p choice=Que voulez vous faire?
if %choice%==1 goto 1
if %choice%==2 goto 2


Mais lorsque j'écris une réponse avec un espace le programme quitte.
Est - ce qu'il y aurait une solution pour ça??
Merci d'avance Wink



Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message Sélécteur 
Code:
if "%choice%"==1 goto 1
if "%choice%"==2 goto 2

Avec des "" ça fonctionne!




______________________________________________________
Cordialement,
Hugo, qui adore programmer, jouer à Minecraft, ZT2 et FSX.
Boutons-liens :
Visiter le site web du posteur Skype
Répondre en citant
Message Sélécteur 
Chez moi ca ne marche pas :'( j'ai essayé quelque chose comme ca :
Code:
set /p choice=Que voulez vous faire?
if "%choice%"=="recherche web" goto google
if "%choice%"=="statut facebook" goto facebook

mais ca ne marche pas non plus le programme se ferme...



Répondre en citant
Message Sélécteur 
Anton75012 a écrit:
Chez moi ca ne marche pas :'( j'ai essayé quelque chose comme ca :
Code:
set /p choice=Que voulez vous faire?
if "%choice%"=="recherche web" goto google
if "%choice%"=="statut facebook" goto facebook

mais ca ne marche pas non plus le programme se ferme...


hello Very Happy

Ce code là marche, vérifie que les label :google et :facebook existent.

Et aussi mais un Goto après set/p pour que le programme retourne au set/p si la variable %choice% ne correspond a auccun des test "if"
--->

Code:

:Boucle
set /p choice=Que voulez vous faire?
if "%choice%"=="recherche web" goto google
if "%choice%"=="statut facebook" goto facebook
goto :Boucle


Voila si ça marche toujours pas met met le code en entier car le problème est peut être ailleurs Rolling Eyes

@+ Okay




______________________________________________________
Site MagicDosYoutubeFacebookVietcong 2 OlympeVietcong 2 Alliance
Visiter le site web du posteur Skype
Répondre en citant
Message Sélécteur 
Salut,

Je te conseille d'utiliser la première solution avec un choix à numéro.

Pour comparer des numéros utilise :

Code:
if 1 equ 1 echo ok


plûtot que :

Code:
if 1==1 echo ok


Qui est reservé à des strings. Donc un gain de temps pour la première solution qui interprète directement 1 comme 1 et non comme "1".
Il faut prendre les bonnes habitudes depuis le début.

Ensuite tu peux également intègrer directement la gestion d'erreur :

Code:

@echo off&cls
echo.
:Boucle
echo Recherche WEB   [1]
echo Statut facebook [2]
echo.
echo Pour quitter    [q]
echo.
echo.
set /p "choice=Que voulez vous faire [1-2]? "
if %choice% equ 1 goto:google
if %choice% equ 2 goto:facebook
if "%choice%"=="q" exit
ECHO Valeur Invalide. Reponse possible : [1-2] [q]
Pause
goto :Boucle

:google
start www.google.com
goto:eof

:facebook
start www.facebook.com


Okay




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message Sélécteur 
Ok merci quand meme comme ça ne marchait pas même avec les "", pourtant j'ai bien vérifié que les labels étaient bons, j'ai opt" pour un sélécteur a chiffres Wink

EDIT : j'ai trouvé d'ou venait le probleme, c'était notepad ++ qui est tres tres bugé chez moi... Merci pour vos solutions Wink



Répondre en citant
Message Sélécteur 
Lu'

sachadee a écrit:
Je te conseille d'utiliser la première solution avec un choix à numéro.

Pour comparer des numéros utilise :

Code:
if 1 equ 1 echo ok


plûtot que :

Code:
if 1==1 echo ok


Qui est reservé à des strings. Donc un gain de temps pour la première solution qui interprète directement 1 comme 1 et non comme "1".
Il faut prendre les bonnes habitudes depuis le début.


Complètement faux ! il déjà les deux syntaxes sont totalement équivalentes, pour les nombres et les chaînes ^^
Les autres comparants (que "equ") sont effectivement sur les nombres, mais pas "equ".
Pour le gain de temps, il est vraiment négligeable, et je dirais même que c'est même pas sûr que ce soit effectivement plus rapide.



Ensuite tu peux également intègrer directement la gestion d'erreur :

pour y revenir, la solution la plus sûre consiste en l’utilisation de l'expansion retardée de variable :

Code:
SETLOCAL EnableDelayedExpansion

set /p "choice=Que voulez vous faire [1-2]? "

if !choice!==1 goto:google
if !choice!==2 goto:facebook
if !choice!==q exit


On peut utiliser la syntaxe avec "equ" aussi, ça change pas grand chose. c'est une question de style.

@+




______________________________________________________
--
> Que pensez vous de l'ajout du repertoire point dans $PATH ?
Ma version de troll 18.0.32 beta 3 vient de me faire un core dump.
-+- SE in Guide du Linuxien Pervers : Bien développer son troll -+-

[Dos9]
Visiter le site web du posteur Skype
Répondre en citant
Message Sélécteur 
Darkbatcher a écrit:
pour y revenir, la solution la plus sûre consiste en l’utilisation de l'expansion retardée de variable


Darkbatcher a écrit:
Complètement faux !


Tu anticipais ta propre réponse, lol Laughing



Répondre en citant
Message Sélécteur 
temp a écrit:
Darkbatcher a écrit:
pour y revenir, la solution la plus sûre consiste en l’utilisation de l'expansion retardée de variable


Darkbatcher a écrit:
Complètement faux !


Tu anticipais ta propre réponse, lol Laughing


La gratuité du troll, pire qu'une vidéo faite sur youtube par un "humoriste" noir, gros, moche, con et antisémite Mort de Rire (pour ceux qu'auraient des doutes, en toute rigueur, je n'ai pas encore le droit a un point godwin Laughing)

en plus ce que dis est totalement vrai, les sceptiques n'ont qu'a essayer ! genre essaie d'entrer des espaces ou des guillemets, ou même des '&' :-P

@+




______________________________________________________
--
> Que pensez vous de l'ajout du repertoire point dans $PATH ?
Ma version de troll 18.0.32 beta 3 vient de me faire un core dump.
-+- SE in Guide du Linuxien Pervers : Bien développer son troll -+-

[Dos9]
Visiter le site web du posteur Skype
Répondre en citant
Message Sélécteur 
Bizarrement, ça m'étonne pas que tu fasses semblant de pas avoir compris le message.
Qu'à cela ne tienne, je te laisse dans ton monde avec ta collection de quenelles et de points Godwin.



Répondre en citant
Message Sélécteur 
temp a écrit:
Bizarrement, ça m'étonne pas que tu fasses semblant de pas avoir compris le message.
Qu'à cela ne tienne, je te laisse dans ton monde avec ta collection de quenelles et de points Godwin.

Bizarrement, ça me rends triste que tu n'aie pas compris le propos de mon dernier message.

Les gens intelligents lucides appellent ça une "porte de sortie". En résumé quand je me retrouve confronté à un poste qui nie ce que je dis en bloc sans apporter d'argument et qui n'a pas l'air d'être un troll (ou du moins si j'en suis pas sûr), (traduction pour ceux qui feraient mine de ne pas comprendre: un poste qui n'a pas lieu d'être), j'avoue que ça ne me plait pas beaucoup. Maintenant, comme je suis extrêmement magnanime, je fais mine de prendre un ton décalé histoire de laisser à l'auteur du message la possibilité de s'expliquer, ou si c'était un troll, de continuer a troller.

Mais bon, tout ça te dépasse sans aucun doute, vu que tu as choisi la troisième alternative (qui n'est bien sûr pas la meilleure): éviter le débat et passer pour un imbécile...

@+




______________________________________________________
--
> Que pensez vous de l'ajout du repertoire point dans $PATH ?
Ma version de troll 18.0.32 beta 3 vient de me faire un core dump.
-+- SE in Guide du Linuxien Pervers : Bien développer son troll -+-

[Dos9]
Visiter le site web du posteur Skype
Répondre en citant
Message Sélécteur 
Mort de Rire




______________________________________________________
│Øδ@π.
Visiter le site web du posteur Skype
Répondre en citant
Message Sélécteur 
Mort de Rire également




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Message Sélécteur 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch