Tutorial Como Crear Un Menú De Selección Multiple En Batch .Bat .Cmd

Biblioteca enigma, sección de libros de consulta general en diferentes formatos
Avatar de Usuario
Enigma
Administrador del Sitio
Administrador del Sitio
Mensajes: 1268
Registrado: 20 Oct 2013, 16:26
Genero: Mujer
Profesion: Webmaster CEO SEO
Ubicacion: Matrix
Navegador: Chrome
Contactar:

Tutorial Como Crear Un Menú De Selección Multiple En Batch .Bat .Cmd

Mensaje sin leer por Enigma » 05 Jun 2018, 10:40

Como Crear Un Menú De Selección Multiple En Batch .Bat .Cmd

Este es un ejemplo de como crear un menú de selección multiple en la consola de comandos de Windows, esto sirve para lanzar ilimitada cantidad de comandos o pequeñas aplicaciones creadas en Batch en archivos ejecutables con extensiones .bat y/o .cmd en el la consola de comados de Windows.


Este es un ejemplo de como podemos crear un menú con la carácteristica de realizar una acción a travéz de la selección de un número en la consola de comandos CMD.exe en Windows, sencillo de usar, editar y adaptar a tus necesidades, por ahora este menú nos hace cambios de colores del texto para entender el funcionamiento del código.

Por ahora solamente este ejemplo lo que hace es cambiar el color del texto pero sirve para hacerte una idea de como se hace para llamar una función desde el menú.

Código: Seleccionar todo

cls
@echo off
cls
TITLE Bienvenid@ %USERNAME%  - Menú de opciones del programa
MODE con:cols=80 lines=40

:inicio
:inicio
SET var=0
cls
color 0A
@echo off
echo ------------------------------------------------------------------------------
echo  %DATE% ^| %TIME% 
echo ------------------------------------------------------------------------------
echo  1    Opcion 1   
echo  2    Opcion 2   
echo  3    Opcion 3   
echo  4    Opcion 4   
echo  5    Opcion 5   
echo  6    Salir
echo ------------------------------------------------------------------------------
echo.

SET /p var= ^> Seleccione una opcion [1-6]: 

if "%var%"=="0" goto inicio
if "%var%"=="1" goto op1
if "%var%"=="2" goto op2
if "%var%"=="3" goto op3
if "%var%"=="4" goto op4
if "%var%"=="5" goto op5
if "%var%"=="6" goto salir

::Mensaje de error, validación cuando se selecciona una opción fuera de rango
echo. El numero "%var%" no es una opcion valida, por favor intente de nuevo.
echo.
pause
echo.
goto:inicio

:op1
    echo.
    echo. Has elegido la opcion No. 1
    echo.
        ::Aquí van las líneas de comando de tu opción
        color 08
    echo.
    pause
    goto:inicio

:op2
    echo.
    echo. Has elegido la opcion No. 2
    echo.
        ::Aquí van las líneas de comando de tu opción
        color 09
    echo.
    pause
    goto:inicio

:op3
    echo.
    echo. Has elegido la opcion No. 3
    echo.
        ::Aquí van las líneas de comando de tu opción
        color 0A
    echo.
    pause
    goto:inicio
   
:op4
    echo.
    echo. Has elegido la opcion No. 4
    echo.
        ::Aquí van las líneas de comando de tu opción
        color 0B
    echo.
    pause
    goto:inicio

:op5
    echo.
    echo. Has elegido la opcion No. 5
    echo.
        ::Aquí van las líneas de comando de tu opción
        color 0C
    echo.
    pause
    goto:inicio

:salir
    @cls&exit
Para limpiar pantalla luego se seleccionar una opción, se debe poner este código justo debajo del flag de opciones :OP

Código: Seleccionar todo

@echo off
cls

Ejemplo:

Código: Seleccionar todo

:op5
    @echo off
    cls
    echo.
    echo. Has elegido la opcion No. 5
    echo.
        ::Aquí van las líneas de comando de tu opción
        color 0C
    echo.
    pause
    goto:inicio
Colores
Los atributos de color están especificados con dos dígitos hex (el primero corresponde al segundo plano; el segundo al primer plano). Los dígitos pueden ser cualquiera de los siguientes valores:

0 = Negro 8 = Gris
1 = Azul 9 = Azul claro
2 = Verde A = Verde claro
3 = Aguamarina B = Aguamarina claro
4 = Rojo C = Rojo claro
5 = Púrpura D = Púrpura claro
6 = Amarillo E = Amarillo claro
7 = Blanco F = Blanco brillante

Sobre la Ejecución
Efectivamente, siempre se conserva el último valor introducido hasta cerrar completamente la consola CMD... Pero si no se desea tener en "memoria" la opción seleccionada, Se puede poner al final de cada Subproceso un valor diferente en la variable OPP al final de cada subproceso, ejemplo:

Código: Seleccionar todo

:OP1
echo.
echo Esta es la opcion 1
echo.

SET OPP=0
pause
CLS
goto:Menu



Volver a “Area Ingenieria - Programacion - Web - Computacion”