Objectif :Obtenez une seule frappe de l'utilisateur et stockez-la dans une variable d'environnement ou de tableau

 

Format:CLÉ D'ENTRÉE [/= /C /D /K"clés" /P /M /T /Wn /X] [rapide] %%nomvar

 

rapideTexte facultatif affiché sous forme d’invite.
varnameLa variable qui contiendra la frappe de l'utilisateur.
attendezIl est temps d'attendre une frappe sur une touche, dans secondes

 

/C

Effacer le tampon

/P

Mot de Passe

/D

Chiffres uniquement

/T

Compte à rebours

/K

frappes valides

/W

Attendez

/M

Boutons de la souris

/X

pas de retour chariot

 

Voir aussi: CONTRIBUTION.

 

Usage:

 

INKEY affiche éventuellement une invite, puis attend pendant une durée spécifiée (ou indéfiniment) une frappe et place la frappe dans un environnement ou tableau variable. Il est normalement utilisé dans les fichiers batch et les alias pour obtenir un choix de menu ou une autre entrée à une seule touche. Avec le CONTRIBUTION commande, INKEY permet une grande flexibilité dans la lecture des entrées à partir d’un fichier batch ou d’un alias.

 

If rapide est inclus dans une commande INKEY, il est affiché pendant que INKEY attend une entrée.

 

La commande suivante demande un caractère et le stocke dans la variable NUM:

 

inkey /D Saisissez un nombre entre 1 et 9 : %%num

 

INKEY lit l'entrée standard pour la frappe au clavier, il acceptera donc les frappes provenant d'un fichier redirigé ou de PILE DE CLÉS. Vous pouvez fournir une liste de frappes valides avec le /K option.

 

La saisie numérique peut être saisie au format décimal (une séquence de 0 à 9 chiffres) ou au format hexadécimal ("0x" suivi d'une séquence de chiffres hexadécimaux de 0 à F).

 

Une frappe standard est stockée directement dans la variable d'environnement. Une frappe étendue (par exemple, une touche de fonction ou une touche de curseur et) est stockée sous forme de chaîne, composée d'un début @, suivi de son code de numérisation sous forme de nombre décimal, par exemple, le F1 la clé est stockée sous @ 59L’ Entrer la clé est stockée sous forme de frappe étendue @28. See ASCII, codes clés et commandes ANSI X3.64 pour scanner les codes.

 

When the /M L'option permet la reconnaissance des boutons de la souris (et /W n'est pas précisé), la variable est définie sur un seul caractère avec l'un des codes ci-dessous :

 

bouton (dans la fenêtre de contrôle qui apparaît maintenant)

code

à gauche

240

milieu

498

bon

497

 

Vous pouvez obtenir la position de l'écran du dernier clic de souris avec le _xmouse et _ymouse variables internes.

 

Pour tester une valeur non imprimable renvoyée par INKEY, utilisez le @ASCII fonction pour obtenir la valeur numérique de la clé, ou convertir la valeur attendue du code en code en utilisant @CARBONISER. Par exemple, pour tester Esc, qui a une ASCII valeur de 27 ou un bouton gauche de la souris :

 

inkey Saisissez une clé : %%key

si "%@ascii[%key]" == "27" echo Esc enfoncé

si %key EQ %@char[240] echo Cliquez sur le bouton gauche de la souris

 

Si vous appuyez sur Ctrl-C or Ctrl-Pause pendant qu'INKEY attend une clé, l'exécution d'un alias sera terminée et l'exécution d'un fichier batch sera suspendue pendant qu'il vous sera demandé si vous devez annuler le travail par lots. Un fichier batch peut gérer Ctrl-C et Ctrl-Pause couplé à EN PAUSE commander.

 

Si vous n'entrez aucun argument, INKEY affichera sa boîte de dialogue de commande.

 

INKEY fonctionne dans la fenêtre de ligne de commande. Si vous préférez utiliser une boîte de dialogue pour la saisie utilisateur, consultez le MSGBOX et BOÎTE DE REQUÊTE les commandes.

 

Options:

 

/=Affichez la boîte de dialogue de commande INKEY pour vous aider à définir les options de ligne de commande. L'option /= peut être n'importe où sur la ligne ; des options supplémentaires définiront les champs appropriés dans la boîte de dialogue de commande.

 

/CEfface le tampon du clavier avant qu'INKEY n'accepte les frappes. Si vous utilisez cette option, INKEY ignorera toutes les frappes que vous tapez, accidentellement ou intentionnellement, avant d'être prêt à accepter la saisie. Vous pouvez utiliser l'option /C seule si vous souhaitez effacer le tampon du clavier sans définir de variable.

 

/DN'acceptez que les numéros de 0 à 9.

 

/K"clés"Spécifie les frappes autorisées. La liste des frappes valides doit être placée entre guillemets doubles. Pour les clés alphabétiques, le test de validité n'est pas sensible à la casse. Vous pouvez spécifier des clés étendues en plaçant leurs noms entre crochets (entre guillemets), par exemple :

 

clé de saisie /k"ab[Ctrl-F9]" Entrez A, B, Ctrl-F9 %%var

 

See Clés et noms de clés pour une liste complète des noms de clés que vous pouvez utiliser entre crochets et une description du format du nom de clé.

 

Si une frappe invalide est saisie, TCC fera écho à la frappe si possible, émettra un bip, reculera le curseur d'un caractère et attendra une autre frappe.

 

/MAcceptez les clics du bouton de la souris. C'est eactivé uniquement si l'édition rapide de Windows est désactivée (espace alt -> Propriétés -> Options).

 

/PEmpêche INKEY de faire écho au personnage.

 

/TAfficher un compte à rebours (/Wn est également obligatoire).

 

/WDélai d'attente, en secondes, pour attendre une réponse. Si aucune frappe n'est saisie à la fin du délai d'attente, INKEY revient avec la variable inchangée. Cela vous permet de continuer le fichier batch si l'utilisateur ne répond pas dans un laps de temps donné. Vous pouvez préciser / W0 pour revenir immédiatement s'il n'y a aucune clé en attente dans le tampon du clavier. If /W est spécifié, les boutons de la souris sont ignorés.

 

Par exemple, le fragment de fichier batch suivant attend jusqu'à 10 secondes pour un caractère, puis teste si un "Y" a été saisi :

 

définir netmon=N

inkey /K"YN" /w10 Moniteur réseau (O/N) ? %%netmon

si "%netmon" == "Y" alors

 rem Commandes pour charger le programme du moniteur

fin

 

/XEmpêche INKEY d'afficher un retour chariot et un saut de ligne après l'entrée de l'utilisateur.