Tengo lo siguiente hecho:
:inicio
set /p var= Ingrese un numero entre el 1 y el 8 :
for /f "tokens=1* delims=12345678"
%%a in ("A0
%var:"=%"
) do if not "
%%b"==""
echo No sea porfiado, hombre
!!!!! ELIJA SOLAMENTE NUMEROS ENTRE EL 1 Y EL 8.
if %var% GTR 8
echo Error de seleccion: la opcion no es valida
(Elija entre 1 y 8
)
Con esto logro retener los errores y manda un mensaje de error al usuario, pero no logro que al poner cualquiera de las opciones señalas me envíe ahí hacia ellas.
Qué hago???
Jeje no necesitas hacer todo eso.. un menu se hace asi:
:menu
cls
echo 1.- Ver datos de autor.
set /p "opcion= elija a donde desea ir: "
if %opcion%==2
(goto :
mensaje)
Con esto queda mejor, porque no muestra ningun mensaje de error, sino que no hace nada.
Lo de set "opcion=" es para que las siguientes veces que vuelva al menu, se borre el contenido de %opcion% para que si el usuario pone enter sin escribir nada, no vaya a donde fue la vez anterior.
Al poner en el teclado algo así como:
dsalf kpuyt3iriue4thy7uyudfiuh c uy8 t48749 kdsur hkethg3uerf34!"·$%&/
El programa se te va a caer: ya te lo boté.
Eso es lo que no quiero.
Los signos
= y el
&igual botan ese script.
Alguna idea de cómo solucionar esto???
Millón de gracias por las respuestas!!!
A todo esto: el menú V2 no corre.