A veces aparece en algunas ocasiones la frase 'Salir? (s/n)'. Esto determina una variable. En los progamas por lotes también se pueden hacer variables.
Las vamos a hacer con el comando set. Ponemos:
set /p 'random'= (en caso de que la variable sea un número)
set /p var= (en el caso de no ser un número)
Con ésto, la aplicación espera a que demos una respuesta antes de seguir. Para deterinar la acción que hará el .bat al escribir una cosa u otra empleamos if.
set /p var=
if "%var%" == "a" start
if "%var%" == "b" exit
Esto hará que al escribir a y pulsar intro nos inicie una ventana, y que al escribir b y pulsar intro, se cierre el .bat.
Con los números existen más opciones, en base a esta tabla:
EQU - igual
NEQ - no igual
LSS - menor que
LEQ - menor que o igual
GTR - mayor que
GEQ - mayor que o igual
La opción EQU se sustituye normalmente por == . Ejemplos:
if "%random%" == "2" start
if "%random%" NEQ "2" echo mal
if "%random%" LSS "2" cls
Devolverá:
Si el número escrito es 2, se inicia una ventana.
Si el número escrito no es 2, aparece la palabra mal.
Si el número escrito es menor que 2, se borra la pantalla.
Otra cosa que se pueden hacer con las variables es dividir las secuencias. Si se escribe una cosa, se hace una secuencia. Para ello utiizamos goto. El comando goto dirige a una etiqueta. La etiqueta tiene que tener un nombre sin espacios y empezando por dos puntos. Ej:
goto hola
:hola
echo adios
pause
exit
Si esto lo combinamos con variables, sería así:
set /p var=
if "%var%" == "a" goto a
if "%var%" == "b" goto b
:a
echo Bien
pause
time /t
pause
:b
echo Mal
pause
date /t
pause
Entonces, podemos saber lo que pasa detrás de la frase 'Salir? (s/n)'.
set /p var=
if "%var%" == "s" exit
if "%var%" == "S" exit
if "%var%" == "n" cls
if "%var%" == "N" cls
Es recomendable al poner variables de palabras o letras, poner también la mayúscula. Puede que el usuario tenga Bloq Mayús activado.
2 comentarios:
buen post, aunque prefiero los archivos .sh
Saludos
Sí, y yo... pero es lo que sé.
Publicar un comentario