Finalidad:Obtenga una sola pulsación de tecla del usuario y guárdela en un entorno o variable de matriz

 

Formato:INKEY [/= /C /D /K"claves" /P /M /T /Wn /X] [puntual] %%nombrevarna

 

puntualTexto opcional que se muestra como mensaje.
nombrevarLa variable que contendrá la pulsación de tecla del usuario.
esperarEs hora de esperar una pulsación de tecla, en segundos

 

/C

Borrar buffer

/P

Contraseña

/D

Sólo dígitos

/T

Contador regresivo

/K

pulsaciones de teclas válidas

/W

Esperar

/M

Botones del ratón

/X

sin retorno de carro

 

Ver también: ENTRADA.

 

Uso:

 

INKEY opcionalmente muestra un mensaje, luego espera durante un tiempo específico (o indefinidamente) una pulsación de tecla y coloca la pulsación de tecla en un entorno o matriz variable. Normalmente se utiliza en archivos por lotes y alias para obtener una opción de menú u otra entrada con una sola tecla. Junto con ENTRADA comando, INKEY permite una gran flexibilidad en la lectura de entradas desde un archivo por lotes o alias.

 

If puntual se incluye en un comando INKEY, se muestra mientras INKEY espera la entrada.

 

El siguiente comando solicita un carácter y lo almacena en la variable NUM:

 

inkey /D Introduzca un número del 1 al 9:  %%num

 

INKEY lee la entrada estándar para la pulsación de tecla, por lo que aceptará pulsaciones de teclas de un archivo redirigido o de TECLAS. Puede proporcionar una lista de pulsaciones de teclas válidas con el /K .

 

La entrada numérica se puede ingresar en formato decimal (una secuencia de 0 a 9 dígitos) o en formato hexadecimal ("0x" seguido de una secuencia de 0 a F dígitos hexadecimales).

 

Una pulsación de tecla estándar se almacena directamente en la variable de entorno. Una pulsación de tecla extendida (por ejemplo, una tecla de función o una tecla de cursor) se almacena como una cadena, que consta de un @, seguido de su código de escaneo como un número decimal, por ejemplo, el F1 La clave se almacena como @ 59. Participar La clave se almacena como una pulsación de tecla extendida. @28. See ASCII, códigos clave y comandos ANSI X3.64 para códigos de escaneo.

 

Cuando el /M Esta opción permite el reconocimiento de los botones del ratón (y /W no se especifica), la variable se establece en un solo carácter con uno de los siguientes códigos:

 

.

código

left

240

medio

498

un Derecho

497

 

Puede obtener la posición en la pantalla del último clic del mouse con el _xmouse y _ymouse variables internas.

 

Para probar un valor no imprimible devuelto por INKEY utilice el @ASCII función para obtener el valor numérico de la clave, o convertir el valor esperado del código en un código usando @CARBONIZARSE. Por ejemplo, para probar Esc, que tiene un ASCII valor de 27 o un botón izquierdo del ratón:

 

inkey Introduce una clave:  %%key

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

si %key EQ %@char[240] echo se hace clic con el botón izquierdo del mouse

 

Si presiona Ctrl-C or Ctrl-Pausa Mientras INKEY espera una clave, se finalizará la ejecución de un alias y se suspenderá la ejecución de un archivo por lotes mientras se le pregunta si desea cancelar el trabajo por lotes. Un archivo por lotes puede manejar Ctrl-C y Ctrl-Pausa con el EN EL ALMUERZO O DESCANSO mando.

 

Si no ingresa ningún argumento, INKEY mostrará su cuadro de diálogo de comando.

 

INKEY funciona dentro de la ventana de línea de comando. Si prefiere utilizar un cuadro de diálogo para la entrada del usuario, consulte la MSGBOX y CAJA DE CONSULTAS comandos.

 

Opciones:

 

/=Muestre el cuadro de diálogo del comando INKEY para ayudarlo a configurar las opciones de la línea de comando. La opción /= puede estar en cualquier lugar de la línea; Las opciones adicionales establecerán los campos apropiados en el cuadro de diálogo de comando.

 

/CBorra el búfer del teclado antes de que INKEY acepte pulsaciones de teclas. Si usa esta opción, INKEY ignorará cualquier pulsación de tecla que escriba, ya sea accidental o intencionalmente, antes de estar listo para aceptar entradas. Puede usar la opción /C por sí sola si desea borrar el búfer del teclado sin configurar una variable.

 

/DSolo acepta números de 0 a 9.

 

/K"claves"Especifica las pulsaciones de teclas permitidas. La lista de pulsaciones de teclas válidas debe estar entre comillas dobles. Para las claves alfabéticas, la prueba de validez no distingue entre mayúsculas y minúsculas. Puede especificar claves extendidas encerrando sus nombres entre corchetes (entre comillas), por ejemplo:

 

inkey /k"ab[Ctrl-F9]" Ingrese A, B, Ctrl-F9 %%var

 

See Claves y nombres de claves para obtener una lista completa de los nombres de clave que puede utilizar entre corchetes y una descripción del formato de nombre de clave.

 

Si se ingresa una pulsación de tecla no válida, TCC repetirá la pulsación de tecla si es posible, emitirá un pitido, moverá el cursor hacia atrás un carácter y esperará a que se presione otra tecla.

 

/MAcepte clics del botón del mouse. este es eSe habilita solo si la Edición rápida de Windows está deshabilitada (alt-espacio -> Propiedades -> Opciones).

 

/PEvita que INKEY haga eco del carácter.

 

/TMostrar un temporizador de cuenta regresiva (/Wn también es obligatorio).

 

/WPeriodo de tiempo de espera, en segundos, para esperar una respuesta. Si no se ingresa ninguna tecla al final del período de tiempo de espera, INKEY regresa con la variable sin cambios. Esto le permite continuar con el archivo por lotes si el usuario no responde en un período de tiempo determinado. Puedes especificar / W0 para regresar inmediatamente si no hay teclas esperando en el búfer del teclado. If /W Si se especifica, los botones del mouse se ignoran.

 

Por ejemplo, el siguiente fragmento de archivo por lotes espera hasta 10 segundos por un carácter y luego prueba si hay un "Y"se ingresó:

 

establecer netmon=N

inkey /K"YN" /w10 ¿Monitor de red (S/N)? %%netmon

si "%netmon" == "Y" entonces

 rem Comandos para cargar el programa monitor

endiff

 

/XEvita que INKEY muestre un retorno de carro y un avance de línea después de la entrada del usuario.