1 CURSO DE PROGRAMACION EN BATCH PARA PRINCIPIANTES 3 IF, GOTO, MENUS Mar Sep 25, 2012 3:22 pm
Lord Nightwinter
Admin
Bueno, en este 3º capítulo, les explicare 2 sencillos comandos (el
goto, y el de la estructuración por menús), y otro algo mas complicado
(el if) pero verán que con un poco de practica también esta fácil.
El comando goto, nos permite dar un salto a un determinado lugar del bat. Por ejemplo para ir a un menú…
Los menús, nos permiten hacer “menús” o apartados en nuestro bat.
Los menús se hacen escribiendo : y seguido el nombre del menú. (con el ejemplo de luego lo verán mas claro)
El comando if sirve para establecer una condición, es decir, si la condición se cumple o no, se ara tal cosa.
El comando if, dispone de los siguientes atributos:
<blockquote>variable==valor (para expresar si la variable es igual a valor haz esto)
variable LSS valor (para expresar si la variable es menor a valor haz esto)
variable GTR valor (para expresar si la variable es mayor a valor haz esto)
variable LEQ valor (para expresar si la variables menor o igual haz esto)
variable GEQ valor (para expresar si la variable es mayor o igual haz esto)
</blockquote>
Para ver mas claro esto del goto, el if, y lo de los menús, os pondré un simple ejemplo.
<blockquote>@echo off
title Moglu if, goto y menús
:menú
cls
echo responde si o no
echo.
set /p var=quieres convertirte en hacker??
If %var%==si goto serh
If %var%==no goto noh
:serh
cls
echo pues entonces sigue los consejos que te doy
pause > nul
goto end
:noh
cls
echo.
echo pues entonces que haces leyendo esto??
pause > nul
goto end
:end
cls
echo.
echo adiós
pause
exit
</blockquote>
Han comprendido no?? es sencillo.
Aquí les dejo otro ejemplo
<blockquote>@echo off
title ¿que numero será…?
:menú
cls
echo debes averiguar el numero para poder salir
echo.
set /p var=pon un numero:
If %var%==5 goto si
If %var% LSS 5 goto menor
If %Var% GTR 5 goto mayor
:si
cls
echo correcto!!! por culo te la inco!! jaja
pause
goto salir
:menor
cls
echo elige otro mas alto
echo.
echo sigue jugando
pause > nul
goto menú
:mayor
echo elige otro mar pequeño!!
echo.
echo sigue probando
pause > nul
goto menú
:salir
echo.
echo asta otro día!!
pause > nul
echo.
echo un saludo
pause
exit
</blockquote>
Ya lo abran entendido no??
También pueden usar el comando if not que hace lo
contrario que el if. En vez de decir SI pasa esto….haz esto, lo que hace
es decir, SI NO pasa esto…haz esto. ¿Entienden no??? sino hagan un
ejemplo verán q fácil es.
Se preguntaran también que pasa, cuando por ejemplo en el 1º ejemplo que
puse, en vez de escribir si o no, escribimos otra cosa, entonces lo que
sucederá, es que el lenguaje, al ser lineal, pasa a la siguiente línea…
sin importar lo q pongamos (pruevenlo).
Pero no se preocupen todo esto tiene solución con un comando llamado else.
Lo que quiere decir es sino haz esto, es decir, por ejemplo decimos
<blockquote>if %vari%=1 (goto menu1) else goto menu2
</blockquote>
Lo que quiere decir esto, es que si la variable es 1, vallamos al menu1, sino, al menú 2.
La sintaxis seria esta:
<blockquote>if condiciones (accion1) ELSE accion2
La 1º acción Debe ir entre paréntesis obligatoriamente.
</blockquote>
Vean un ejemplo les quedara mas claro…
En el ejemplo se trata de decir si quieres un CONSEJO o si quieres
SALIR, si escribes cualquier otra cosa, verán que vuelve al principio, y
no pasa como en los ejemplos de antes
<blockquote>@echo off
title Moglu di soy bobo
:menú
cls
echo que quieres? consejo o salir
echo.
set /p var=dime, consejo o salir:
If %var%==consejo (goto consejo) else goto if2
:if2
if %var%==salir (goto end) else goto menú
:consejo
cls
echo ten cuidado con lo que descargas, fiate solo de Moglu, el es legal!!
pause > nul
goto end
:end
cls
echo.
echo adiós!!
pause
exit
</blockquote>
goto, y el de la estructuración por menús), y otro algo mas complicado
(el if) pero verán que con un poco de practica también esta fácil.
El comando goto, nos permite dar un salto a un determinado lugar del bat. Por ejemplo para ir a un menú…
Los menús, nos permiten hacer “menús” o apartados en nuestro bat.
Los menús se hacen escribiendo : y seguido el nombre del menú. (con el ejemplo de luego lo verán mas claro)
El comando if sirve para establecer una condición, es decir, si la condición se cumple o no, se ara tal cosa.
El comando if, dispone de los siguientes atributos:
<blockquote>variable==valor (para expresar si la variable es igual a valor haz esto)
variable LSS valor (para expresar si la variable es menor a valor haz esto)
variable GTR valor (para expresar si la variable es mayor a valor haz esto)
variable LEQ valor (para expresar si la variables menor o igual haz esto)
variable GEQ valor (para expresar si la variable es mayor o igual haz esto)
</blockquote>
Para ver mas claro esto del goto, el if, y lo de los menús, os pondré un simple ejemplo.
<blockquote>@echo off
title Moglu if, goto y menús
:menú
cls
echo responde si o no
echo.
set /p var=quieres convertirte en hacker??
If %var%==si goto serh
If %var%==no goto noh
:serh
cls
echo pues entonces sigue los consejos que te doy
pause > nul
goto end
:noh
cls
echo.
echo pues entonces que haces leyendo esto??
pause > nul
goto end
:end
cls
echo.
echo adiós
pause
exit
</blockquote>
Han comprendido no?? es sencillo.
Aquí les dejo otro ejemplo
<blockquote>@echo off
title ¿que numero será…?
:menú
cls
echo debes averiguar el numero para poder salir
echo.
set /p var=pon un numero:
If %var%==5 goto si
If %var% LSS 5 goto menor
If %Var% GTR 5 goto mayor
:si
cls
echo correcto!!! por culo te la inco!! jaja
pause
goto salir
:menor
cls
echo elige otro mas alto
echo.
echo sigue jugando
pause > nul
goto menú
:mayor
echo elige otro mar pequeño!!
echo.
echo sigue probando
pause > nul
goto menú
:salir
echo.
echo asta otro día!!
pause > nul
echo.
echo un saludo
pause
exit
</blockquote>
Ya lo abran entendido no??
También pueden usar el comando if not que hace lo
contrario que el if. En vez de decir SI pasa esto….haz esto, lo que hace
es decir, SI NO pasa esto…haz esto. ¿Entienden no??? sino hagan un
ejemplo verán q fácil es.
Se preguntaran también que pasa, cuando por ejemplo en el 1º ejemplo que
puse, en vez de escribir si o no, escribimos otra cosa, entonces lo que
sucederá, es que el lenguaje, al ser lineal, pasa a la siguiente línea…
sin importar lo q pongamos (pruevenlo).
Pero no se preocupen todo esto tiene solución con un comando llamado else.
Lo que quiere decir es sino haz esto, es decir, por ejemplo decimos
<blockquote>if %vari%=1 (goto menu1) else goto menu2
</blockquote>
Lo que quiere decir esto, es que si la variable es 1, vallamos al menu1, sino, al menú 2.
La sintaxis seria esta:
<blockquote>if condiciones (accion1) ELSE accion2
La 1º acción Debe ir entre paréntesis obligatoriamente.
</blockquote>
Vean un ejemplo les quedara mas claro…
En el ejemplo se trata de decir si quieres un CONSEJO o si quieres
SALIR, si escribes cualquier otra cosa, verán que vuelve al principio, y
no pasa como en los ejemplos de antes
<blockquote>@echo off
title Moglu di soy bobo
:menú
cls
echo que quieres? consejo o salir
echo.
set /p var=dime, consejo o salir:
If %var%==consejo (goto consejo) else goto if2
:if2
if %var%==salir (goto end) else goto menú
:consejo
cls
echo ten cuidado con lo que descargas, fiate solo de Moglu, el es legal!!
pause > nul
goto end
:end
cls
echo.
echo adiós!!
pause
exit
</blockquote>