La instrucción choice permite que los usuarios de un programa escrito en batch seleccionen un elemento de una lista de opciones.

Esta  admite una serie de parámetros que a continuación citaremos:

 

/C opciones       Esta especifica la lista de opciones que se van a crear, por default son “YN”.

/N                          Esta oculta la lista de opciones en la pregunta.

/CS                        Habilita que las opciones a elegir se distingan entre mayúsculas y minúsculas.

/T segundos                      Con este se especifica el tiempo de espera en segundo antes de que se ejecute la opción por defecto. El tiempo de puede dar entre 0 y 9999.

/D opcion            Esta especifica la opción por default.

/T mensaje        Con este especificamos el mensaje que mostraremos antes de la pregunta.

Vamos a hacer un ejemplo en el que un programa muestre un menú de opciones para lanzar diversos programas de Windows. El código quedaría así:

Explicación línea a línea:

La primera línea únicamente elimina el eco de los comandos.

La segunda línea es una etiqueta llamada inicio, la podemos reconocer porque el nombre empieza con los dos puntos (:). Una etiqueta es un lugar a donde llegar a través del comando goto, es usada para que después de lanzar cada uno de los programas elegidos, al cerrarlos, el flujo del programa vuelva al inicio, después limpie la pantalla y construya nuevamente el menú.

La tercer línea incorpora un comando cls para que cada vez que se ejecute el programa limpie la pantalla.

De la cuarta a la octava línea, construimos el menú en pantalla con ayuda de mensajes del comando echo.

La novena línea es vacía.

La decima línea es la de la instrucción choice:

choice /c:12345 /n /t:10 /d:1 /m:”Elige la opcion:”

En ella con el parámetro /c decimos que las teclas permitidas para las opciones son los números del 1 al 5; con la instrucción /n ocultamos las teclas permitidas en la pregunta; con el parámetro /t otorgamos el tiempo de 10 segundos para lanzar la opción por defecto; con el parámetro /d definimos la opción por defecto que será la 1; y con el parámetro /m y no olvidando entrecomillarlo, ponemos el mensaje.

De la onceava a la quinceava línea ponemos los if errolevels, tienen que ser en orden decreciente, es decir, si tenemos 5, iniciar desde el quinto hasta el primero. Por cada bifurcación, se ejecutara una única acción, que es mandar con la instrucción goto a las etiquetas correspondientes donde lanzaremos los programas.

La línea 16, es un espacio en blanco.

La línea 17 es una etiqueta, llamada Excel, ahí se llega en caso de que la opción elegida haya sido la 4, y lanza en la línea 18 con la instrucción “start Excel” el programa de hoja de cálculo Excel., en la línea 19 mandamos el flujo del programa a la etiqueta inicio para que todo vuelva a empezar. El control no llega a la instrucción goto hasta cerrar el programa Excel.

La línea 20, es un espacio en blanco.

La línea 21 es una etiqueta, llamada Word, ahí se llega en caso de que la opción elegida haya sido la 3, y lanza en la línea 22 con la instrucción “start winword” el programa de Porcesador de textos word., en la línea 23 mandamos el flujo del programa a la etiqueta inicio para que todo vuelva a empezar. El control no llega a la instrucción goto hasta cerrar el programa Word.

La línea 24, es un espacio en blanco.

La línea 25 es una etiqueta, llamada calculadora, ahí se llega en caso de que la opción elegida haya sido la 2, y lanza en la línea 26 con la instrucción “calc” la calculadora de windows., en la línea 27 mandamos el flujo del programa a la etiqueta inicio para que todo vuelva a empezar. El control no llega a la instrucción goto hasta cerrar la calculadora.

La línea 28, es un espacio en blanco.

La línea 29 es una etiqueta, llamada blocnotas, ahí se llega en caso de que la opción elegida haya sido la 1, y lanza en la línea 30 con la instrucción “notepad” el bloc ce notas de windows., en la línea 31 mandamos el flujo del programa a la etiqueta inicio para que todo vuelva a empezar. El control no llega a la instrucción goto hasta cerrar el bloc de notas.

La línea 32 es un espacio en blanco, mientras que la línea 33 es una etiqueta llamada “fin” que es donde termina el programa, y se llega aquí si la opción elegida es la 5.

Cualquier duda, favor de dejar comentario.

Powered By DT Author Box

Written by chris

Bifurcaciones múltiples en Batch. La orden Choice.

3 thoughts on “Bifurcaciones múltiples en Batch. La orden Choice.

  • profesor christian sera que podra hacer favor de poner un poquito los pasos para realizar la tarea de la calculadora, porque ya lo intente pero no me logra quedar.
    ya lo intente varias veces pro la verdad no capichi todavia XD.
    gracias

  • profesor si me ase favor de publicar el código de la calculadora por que aun no esta y lo requiero para completar mis practicas y gracias por su compresión.

Leave a Reply

Follow

Get every new post delivered to your Inbox

Join other followers:

%d bloggers like this: