Rechercher : dans
Par :

Choice in batch sous xp

Dernière réponse le 10 jui 2007 à 15:28:38 Aurelien, le 27 aoû 2004 à 13:24:28 
 Signaler ce message aux modérateurs

Bonjours a toutes et a tous!!!

J aurais voulu savoir quelle fonction pouvait remplacer la commande "choice" sous windows XP pour permettre a l utilisateur de choisir l action a lancer!
Voici le code que j essai de faire et la ligne où je but est soulignée!!

@echo off

:menu
cls
echo.
echo Choisissez la phrase a prononcer:
echo -------------------
echo 1. Coucou
echo 2. Comment ca va?
echo 3. Salut
echo.
echo Q. Au revoir
echo.
set /P choix= /c:123Q /t:Q,60 /n Votre choix ?
if errorlevel 255 goto erreur
if errorlevel 4 goto Au revoir
if errorlevel 3 goto Salut
if errorlevel 2 goto Comment ca va
if errorlevel 1 goto coucou
if errorlevel 0 goto erreur
goto fin

:erreur
echo Il y a eu une erreur.
pause
goto fin

:Au revoir
echo Au revoir
goto fin

:Comment ca va
echo Comment ca va?
goto menu

:coucou
echo Coucou
goto menu

:Salut
echo Salut
goto menu
:fin

J espère que vous pourez m aider!
Merci et @@@+++

Meilleures réponses pour « Choice in batch sous xp » dans :
[Windows XP] Activer/Désactiver le pare-feu en ligne de commande Voir Il est possible d'activer ou désactiver le pare-feu (firewall) de Windows XP SP2 grâce à une simple ligne de commande : Pour désactiver le pare-feu de Windows XP :netsh firewall set opmode disable Pour activer le pare-feu de Windows XP :netsh...
Dual boot Windows XP / Windows Vista VoirRemarque importante : L'utilitaire utilisé dans cette astuce (Vista Boot Pro) n'est plus gratuit. La solution alternative est expliquée dans cette astuce : Réaliser un multiboot Introduction Installer XP puis Vista Installer XP par...
Configurer sa connexion WiFi avec Windows XP VoirDepuis Windows XP, Microsoft a intégré à son système d'exploitation un agent WiFi, baptisé par la firme "Configuration Zéro". Dans un premier temps et pour l'utiliser convenablement, il est tout d'abord nécessaire de désactiver les autres logiciels...
Installation de Windows XP VoirCet article de la base de connaissances détaille l'installation pas-à-pas de Windows XP Pro à partir d'un CD d'installation. Attention : les ordinateurs de marque ne sont généralement pas concernés par cette installation car le système est...
Télécharger Windows in a Box VoirNe perdez plus du temps à rechercher un réglage au sein du panneau de configuration. En utilisant Windows XP, vous devez passer par des centaines de clics sans fin à travers le système opérationnel pour configurer un réglage défini. Windows in a box...
Télécharger Windows XP SP2 VoirLes Service Packs constituent un moyen pratique, tout en un, d'accéder aux derniers pilotes, outils et améliorations en matière de sécurité, ainsi qu'à d'autres mises à jour critiques. Windows XP SP2 (Service Pack 2), le dernier Service Pack pour...
Attaque man in the middle (« homme au milieu ») VoirAttaque du protocole ARP Une des attaques man in the middle les plus célèbres consiste à exploiter une faiblesse du protocole ARP (Address Resolution Protocol) dont l'objectif est de permettre de retrouver l'adresse IP d'une machine...
Attaque man in the middle (« homme au milieu ») VoirAttaque man in the middle L'attaque « man in the middle » (littéralement « attaque de l'homme au milieu » ou « attaques de l'intercepteur »), parfois notée MITM, est un scénario d'attaque dans lequel un pirate écoute une communication entre deux...

1

sidarus, le 27 aoû 2004 à 15:26:04

Voici un exemple fonctionnel... adapte-le à tes besoins ;-)

@ECHO OFF
CHOICE /C:123 Choisissez entre %1

IF ERRORLEVEL ==3 GOTO CHOIX3
IF ERRORLEVEL ==2 GOTO CHOIX2
IF ERRORLEVEL ==1 GOTO CHOIX1
GOTO END

:CHOIX3
ECHO Vous avez choisi 3
GOTO END

:CHOIX2
ECHO Vous avez choisi 2
GOTO END

:CHOIX1
ECHO Vous avez choisi 1

:END


Télécharge/install PowerBatch, il va te rendre bien des services :
http://telecharger.01net.com/Total.php?searchstring=powerbatch&system=windows&x=0&y=0

Sites sur DOS : http://www.computerhope.com/msdos.htm

@pluche

~°sidarus°~

Répondre à sidarus

2

Aurelien, le 27 aoû 2004 à 15:48:06

Merci Sidarus d avoir répondu si rapidement!
Mais "choice" n existe plus sous XP (ou du moins cela ne fonctionne pas chez moi!)

J ai réussi a trouver une autre solution mais je ne comprend pas tout ce qui est souligné!!

@echo off
cls

:menu
echo.
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo ºL ORDINATEUR PARLANTº
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo Choisissez la phrase a prononcer:
echo ---------------------------------
echo 1. Coucou
echo 2. Comment ca va?
echo 3. Salut
echo q. Quitter
echo.
set choice=
set /p choice=Votre choix ?
if not '%choice%'=='' set choice=%choice:~0,1%
if %choice%==q goto Au revoir
if %choice%==3 goto Salut
if %choice%==2 goto Comment ca va
if %choice%==1 goto coucou

cls
echo Le choix %choice% n'est pas valide.
echo.
goto menu

:Au revoir
cls
echo Au revoir
pause>nul
goto fin

:Comment ca va
cls
echo Comment ca va?
pause>nul
goto menu

:coucou
cls
echo Coucou
pause>nul
goto menu

:Salut
cls
echo Salut
pause>nul
goto menu
:fin


Peut être pouriez vous m expliquer s il vous plait?
@@@+++

Répondre à Aurelien

10

 tdvst, le 10 jui 2007 à 15:28:38

Explication des lignes surlignées:

rem met la variable choice à vide
set choice=
rem affiche le message Votre choix ? puis attend une entrée clavier (option /p de set) dont la valeur est mise dans choice
set /p choice=Votre choix ?
rem si la variable choice (donc l'entrée de l'utilisateur) n'est pas vide on ne garde que le premier caractère de la variable choice (%choice:~0,1% rend le premier caractère)
if not '%choice%'=='' set choice=%choice:~0,1%
rem on compare la valeur de choice avec les différentes valeurs possibles.
if %choice%==q goto Au revoir
if %choice%==3 goto Salut
if %choice%==2 goto Comment ca va
if %choice%==1 goto coucou

Toujours est-il que cette solution n'ouvre pas tous les avantages du choice (limitation des valeurs possibles, valeur par défaut au bout d'un certain temps), mais permet de récupérer facilement des entrées qui font plus de un caractère (par exemple on peut demander le nom de quelqu'un, un nom de répertoire...)

Néanmoins un set /? t'aurais appris la signification de set /p et de %choice:~0,1%

Cordialement,

Répondre à tdvst

3

sidarus, le 27 aoû 2004 à 16:06:05

Re Aurelien

Il n'y a aucune erreur dans ton Batch. Pour t'en persuader, copie le code dans PowerBatch puis appuyes sur F9 (Menu :: Programme > Tests > ... du fichier courant).

PS: relis mon premier post... tout y est.

~°sidarus°~

Répondre à sidarus

4

Aurelien, le 27 aoû 2004 à 16:16:06

J ai remarqué que l orsque l on install PowerBatch le fichier choice.com est lui aussi installer et comme je ne l avait pas (il n est pas fournis sous windowsXP) c est pourquoi mon code ne marchait pas !!

Pouriez vous quand meme me donner l explication de la partie soulignée de mon second code n utilisant pas le fichier choice.com?

Merci d avance!!
@@@+++

Répondre à Aurelien

5

sidarus, le 28 aoû 2004 à 18:47:02

Comme dis tout est dans mon 1er post... 2me lien à l'adresse que je t'ai donné : All DOS Commande http://www.computerhope.com/msdos.htm#02

Bref vais pas t'expliquer puisque ce l'est deja... si tu veux de l'aide commence par t'aider :/

~°sidarus°~

Répondre à sidarus

6

Aurelien, le 29 aoû 2004 à 12:22:36

Salut
Je pense que je vais m aider en révisant mes cours d anglais !
(ce sera pas du luxe parce que je suis une grosse quiche dans cette langue!) ^_^

Merci ~°sidarus°~ pour ton lien sur : All DOS Commande!

@@@+++

Répondre à Aurelien

7

sidarus, le 29 aoû 2004 à 21:10:14

Autre chose... si tu veux savoir l'utilisation d'une commande c'est assez simple. Il suffit de taper la commande suivit de /? (dans le shell) :

Ex pour CHOICE /? :

C:\>choice /?
Attend que l'utilisateur fasse son choix dans le menu.

CHOICE [/C[:]touches] [/N] [/S] [/T[:]c,nn] [texte]

/C[:]touches Spécifie les touches configurables. Le défaut est ON
/N           Ne pas afficher les touches et le ? à l'invite.
/S           Permet de distinguer entre majuscules et minuscules.
/T[:]c,nn    Touche par défaut c après nn secondes
texte        Texte à afficher à l'invite

ERRORLEVEL est établi de manière à détecter une erreur de choix de touche.


Voilivoilou, cette petite astuce va notablement te venir en aide et te rendre casi indépendant :o)

~°sidarus°~

Répondre à sidarus

8

Aurelien, le 29 aoû 2004 à 21:42:38

Merci beaucoup ~°sidarus°~
Grace a toi je n aurais plus jamais besoin de personne!!!

Comment ça non!! ^_^

@@@+++

Répondre à Aurelien

9

sidarus, le 31 aoû 2004 à 13:32:17

Tiens encore une astuce kivodelor :)

tape ceci :

c:\>echo. |commande /? > c:\commande.txt


Remplace "commande" par la commande de ton choix (dir, echo, choice, ...), puis va sur c:\ et ô surprise :)

~°sidarus°~

Répondre à sidarus
Collection CommentÇaMarche.net