Je vous présente une commande qui s'appelle CHOICE ,
C'est une commande externe, c'est à dire quelle n'est pas sur votre ordinateur à l'origine. Sur certain système elle y est déjà, par exemple elle est sur Windows 7, donc vous n'aurez pas à l'installer.
Pour savoir si vous avez cette commande sur votre système il suffit de la tester ,
(Ouvrer l'invité de commande, tapez CHOICE puis ENTRER)
Si cela affiche "Cette commande n'est pas reconnu en tant que commande interne ou externe", c'est qu'elle n'est pas installée.
Elle sert à communiquer avec l'utilisateur en lui demandant d'appuyer sur une touche prédéfinie.
Syntaxe :
- Code:
-
CHOICE /c:TouchePossible /t:Touche,Seconde
Expliquons tous ces paramètres :
-/c sert à définir les touches que l'utilisateur peut appuyer (ex : Y ou N) (/c:yn => touches possibles : Y et N)
-/t sert à mettre un temps minimum de réponse pour l'utilisateur, le temps se donne en seconde, (/t:n,10 => la touche N sera appuyée au bout de 10 secondes si l'utilisateur n'a pas appuyé sur une des touches correspondantes).
-/n sert à ne pas afficher les touches nécessaires.
-/s sert à respecter la casse (les Majuscules) si ce paramètre est présent, il ne pourra pas appuyé sur une touche majuscule si vous avez mis des touches minuscules dans /c.
La commande CHOICE, renvoie une valeur qui correspond à la touche qui a été appuyer par l'utilisateur. Cette valeur est enregistrée dans une variable très pratique appelée :
ERRORLEVEL (Cette variable est souvent utilisée en ce qui concerne les commandes permettant de communiquer avec l'utilisateur).
La valeur renvoyée sera 1 si vous avez appuyé sur la première lettre précisée dans /c, 2 si vous appuyez sur la seconde, 3 si vous avez appuyez sur la troisième, etc ...
Exemple :
- Code:
-
@ECHO OFF
:A
CLS
CHOICE /c:yn /t:n,2 /n Appuyer sur Y ou N ...
ECHO.%ERRORLEVEL%
GOTO A
NOTE : Je n'ai pas précisé qu'on pouvait écrire une phrase après les paramètres.
Cette commande se manipule avec quelques différences sous les systèmes ayant déjà cette commande :
- Il ne faut pas mettre ":" il suffit juste de mettre un espace (Pour /c)
- /s devient /cs
- /t devient deux paramètres diffèrents, un pour le temps (/t) et un autre pour la touche qui va être sélectionnée (c'est le /d une Touche)
- Pour mettre du texte il faut utiliser le paramètre /m texte
Exemple (Sur Seven et Vista)(à vérifier)
- Code:
-
@ECHO OFF
CHOICE /c yna /n /cs /m "appuyer sur y pour oui, n pour non et a pour annuler"
ECHO.%ERRORLEVEL%
PAUSE
EXIT
Voici les commandes ici :
La version de 64 bits fonctionne avec les exceptions expliquées ci-dessus.