Nuevas NORMAS para el foro

Curso Hacker
Bienvenido(a), Visitante. Favor de ingresar o registrarse.
¿Perdiste tu email de activación? - Julio 24, 2008, 08:41:59
Boton Buscar
Inicio Ayuda Ingresar Registrarse
Visita: Articulos - Juegos Gratis - Da Foros

Comunidad Underground Hispana  |  Programacion  |  Programación  |  Batch (Moderadores: Espectro Infernal, The Shadow)  |  Tema: MANUAL COMANDO IF By Nikexito 0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: MANUAL COMANDO IF By Nikexito  (Leído 119 veces)
nikecito
Habitual
*****
Desconectado Desconectado

Mensajes: 395


Nikecito :: La maldad es buena >=)

nikecito@hotmail.com
Ver Perfil WWW
« en: Marzo 01, 2008, 01:14:46 »

para empesar gracias a dios !! estas on line de nuevo CUH no me dejes .. si me dejas seria como perder parte de mi no te vuelvasa poner offline Tongue  Smiley Smiley Smiley Smiley Smiley


Pequeño manual sobre la introduccion al comando IF en batch
este pequeño manual pretende ser una pequeña instroduccion
 a lo q es el comando if y sus principales caracteristicas
 que se tratara de orientar a las personas q se esten inciando
 en este lenguaje (batch)
muy bien empesemos con algunos comandos

Ejemplo:

set hola= mundo   (este comando sirve para que hola sea igual a mundo es como ir abreviando)
if %hola%==mundo (echo la palabra es mundo!) else (echo la palabra no es mundo)

*** explicacion ***

en este caso nos dira "LA PALABRA ES MUNDO" por que %hola% es igual a mundo.
para referirnos a una variable establecida usamos "%" en este caso %hola%.

en este caso usamos la condicional "==" que quiere decir si "algo" es igual a "algo"
haga tal cosa.
Tambien se usa el comando "ELSE" que quiere decir si "algo" <NO ES IGUAL> a "algo"
entonces que haga esto.

ahora vamos con otro comando:

Ejemplo:

if exist C:\archivo.txt (echo si existe) else (echo no existe)

*** explicacion ***
esta condicion especifica si EXISTE un archivo q haga "algo" ELSE <NO ES IGUAL> que haga "algo".

-.-.-.-.-.-.-

ahora empesaremos a usar el condicional NOT que quiere decir NO.

usaremos los mismos ejemplos.

Ejemplo 1 NOT:
set hola= mundo
if NOT %hola%==mundo (echo la palabra si es mundo) else (echo la palabra no es mundo)

*** Explicacion ***
en este caso nos dira "LA PALABRA NO ES MUNDO" por q estamos usando el condicional <NOT>

Ejemplo 2 NOT:

if NOT EXIST C:\archivo.txt (echo no existe el archivo) else (echo si existe el archivo)

*** Explicacion ***
en este caso decimos si NO existe tal archivo que diga no existe pero si existe que diga si existe

AHORA ya que dominamos un poco el if Wink ! vamos con las extensiones

** la extencion /i **
esta extension se usa para que la consola no distinga entre mayusculas y minusculas.

ejemplo:

set hola= MuNdO
if %hola%=mundo (echo si es mundo) else (echo no es mundo)


Nos dira NO ES MUNDO por que no estamos especificando la extension /i .
ahora si lo usamos:

set hola= MuNdO
if /i %hola%=mundo (echo si es mundo) else (echo no es mundo)


Ahora SI nos dira q es mundo por que le estamos diciendo con /i que no distinga las mayusculas de las minusculas.

*** opciones de comparacion ***
primero indicaremos cuales son y luego los explicaremos uno por uno.

   EQU = es igual
   NEQ = no es igual
   LSS = menor que
   LEQ = menor que o igual
   GTR = mayor que
   GEQ = mayor que o igual

ahora nos ponemos a explicarlos.

bueno generalmente yo uso las opciones de comparacion con numeros pero tambien funcionan con letras deve ser que compara en algunos numero hexadecimales binarios etc ...
bueno vamos a hacer ejemplos.

*** EQU = es igual ***

Ejemplo:

if 4 equ 4 (echo si es igual) else (echo no es igual)
nos dira SI ES IGUAL  "4=4"


tambien podriamos estar usando para mandarlo a otro lado esto se aplica a TODOS los ejemplos con un goto:

if 4 equ 4 (goto :si) else (goto :no)
esto quiere decir q si es igual se ira a la variable :si que puede estar en cualquier parte del codigo
OJO EL ANTERIOR EJEMPLO SIRVE PARA TODOS LOS EJEMPLOS ANTES DADO Y QUE LUEGO DAREMOS SIRVE IGUAL PARA TODOS

*** NEQ = no es igual ***

Ejemplo:

if 4 NEQ 3 (echo no es igual) else (echo si es igual)
nos dira no es igual ya que 4 no es igual a 3 "4=3"

*** LSS = menor que ***

Ejemplo:

if 5 LSS 7 (echo si es menor) else (echo no es menor)
nos dira que 5 es menor q 7 "5<7"

*** LEQ = menor que o igual ***

if 5 LEQ 6 (echo si es menor o igual) else (echo no es menor o igual)
if 6 LEQ 6 (echo si es menor o igual) else (echo no es menor o igual)
Nos dira que 5 es menor o igual que 6 "5<=6" y el otro ejemplo es menos o igual "6<=6"

*** GTR = mayor que ***

Ejemplo:

if 7 GTR 5 (echo si es mayor) else (echo no es mayor)
Nos dira que 7 es mayor q 5 "7>5"

*** GEQ = mayor que o igual ***

Ejemplo:

if 7 GTR 6 (echo si es mayor que o igual) else (echo no es mayor o igual)
if 7 GTR 7 (echo si es mayor que o igual) else (echo no es mayor o igual)

Nos dira que 7 si es mayor o igual q 6 "7>=6"
Nos dira que 7 si es mayor o igual q 7 "7>=7"

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.
BUENO ACA TERMINA LA EXPLICACION AHORA EMPESAREMOS A DAR EJEMPLOS REALES
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

*-*-*-*-*-*-*-*-*-
EMPESAMOS CON "=="
*-*-*-*-*-*-*-*-*-


   @echo off
color F9
title calculadora
cls
:inicio
echo Sumar (1)
echo restar (2)
echo multiplicar (3)
echo dividir (4)
echo =======================================
echo Escribe la opcion que quieras realizar:
echo.
set /p operacion=
if %operacion%== 1 (goto :sumar)
if %operacion%== 2 (goto :restar)
if %operacion%== 3 (goto :multiplicar)
if %operacion%== 4 (goto :dividir) else (goto :mal)
:suma
echo aca va el codigo de suma (referencias leer sobre set /a)
goto: inicio
:restar
echo aca va el codigo de resta (referencias leer sobre set /a)
goto: inicio
:multiplicar
echo aca va el codigo de multiplicar (referencias leer sobre set /a)
:dividir
echo aca va el codigo de dividir (referencias leer sobre set /a)
goto: inicio
:mal
echo solo puedes elegir entre 1,2,3 y 4
goto: inicio


EXPLICANDO
hacemops un pequeño menu con echo donde sumar sera 1, restar sera 2, multiplicar sera3 y dividir sera 4
ahora cuando tecleamos set /p operacion=  eso quiere decir que el usuario tendra que escribir una opcion
dada en el menu.
if %operacion%== 1 (goto :sumar)  si %operacion% es igual a "1" que se vaya a la seccion :sumar
if %operacion%== 2 (goto :restar) si %operacion% es igual a "2" que se vaya a la seccion :restar
if %operacion%== 3 (goto :multiplicar) si %operacion% es igual a "3" que se vaya a la seccion :multiplicar
if %operacion%== 4 (goto :dividir) else (goto :mal) si %operacion% es igual a 4 q se vaya a la seccion :dividir
PERO !! aca viene la condicion ELSE si ninguna de las opciones osea 1,2,3,4 son colocadas se ira a la seccion :mal
cuando se haga un menu de leccion el else siempre tiene que ir al ultimo de las opcion por que si fuese asi:

set /p operacion=
if %operacion%== 1 (goto :sumar)  else (goto :mal)
if %operacion%== 2 (goto :restar)
if %operacion%== 3 (goto :multiplicar)
if %operacion%== 4 (goto :dividir)

solo reconoceria opcion 1 como verdadera y las demas como :mal osea no llegaria a reconocer 2,3 y 4 por eso siempre al final del menu.

-*-*-*-*-*-*-*-*
   EXIST
-*-*-*-*-*-*-*-*


   @echo off
echo INDICA EL NOMBRE DL ARCHIVO Q DECEAS BORRAR
set /p nombre=
if exist %nombre% (del /q /s "%nombre%.*" ) else (echo NO EXISTE EL ARCHIVO %nombre%)


EXPLICANDO
hacemos que indique el archivo que quiere borrar y que lo guarde en la variable %nombre%
si existe el archivo entonces que se borre (.*" significa completando la extension sea cualsea los tomatodos)
 si no existe que indique que no existe el archivo.

-*-*-*-*-*-*-*-*
CONDICIONAL NOT
-*-*-*-*-*-*-*-*


   @echo off
if not exist C:\telefonos.txt (goto :no) else (goto :si)
:no
echo el arvhico de numeros de telefono no existe entre un # de telefono para crearla
set /p numero=
echo %numero%>C:\telefonos.txt
:si
echo existe el directorio de numeros entre un # q se agregara a la lista
set /p numero=
echo %numero%>>C:\telefonos.txt


EXPLICACION
if not exist C:\telefonos.txt (goto :no) else (goto :si)  indicamos si no existe el archivo que se vayaa la seccion :no
pero si existe que se vaya a la seccion :si

:no
set /p numero=           indicamos que el archivo no existe y q se creara con set /p numero= pedimos un numero
echo %numero%>C:\telefonos.txt       al darnos el numero creamos un archivo (>) llamado telefonos.txt

:si
set /p numero=      indicamos q el archivo si existe y pedimos un numero para q se agregue a la lista de telefonos
echo %numero%>>C:\telefonos.txt      agregamos otra linea al archivo (>>) ya existente


-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
OPCIONES D COMPARACION
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*


-*-*-*-*
 EQU
-*-*-*-*


   @echo off
set hola=0
:ini
if %hola% EQU 4 (goto :ultimo) else (goto :vueltas)
:vueltas
echo todavia no es la vuelta 4
set /a hola+=1
goto :ini
:ultimo
echo HOLA =)
pause > nul
exit


EXPLICACION
set hola=0    a la variable hola le damos el valor 0
if %hola% EQU 4 (goto :ultimo) else (goto :vueltas)    le decimos que si %hola% es igual a 4 que se vaya a la seccion :ultimo
pero si no es igual a 4 q se vaya a la seccion :vuelta

set /a hola+=1   con esta opcion vamos agregando 1 ala variable %hola% q era 0

esto quiere decir que %hola% mientras nosea 4 seguira vuelteando  con la opcion set /a hola+=1 ira aumentando 1 y llegara a 4


Y TODAS LAS OPCIONES D OPCIONES D COMPARACION son casi iguales solo hay que ir dandoles valores  y usar un poco la imaginacion

bueno pequeño manual de If espero que les sirva a los que se incian Smiley ! salu2
 Smiley Smiley Smiley Smiley Smiley Smiley Smiley Smiley Smiley Smiley Smiley Smiley Smiley Smiley Smiley Smiley Smiley Smiley Smiley Smiley Smiley Smiley Smiley Smiley Smiley Smiley Smiley Smiley Smiley Smiley Smiley


« Última modificación: Marzo 02, 2008, 05:47:44 por nikecito » En línea



1101110  1101001  1101011  1100101  1111000  1101001  1110100  1101111
Espectro Infernal
Moderadores
Colaborador
*****
Desconectado Desconectado

Mensajes: 797



Ver Perfil
« Respuesta #1 en: Marzo 01, 2008, 05:20:25 »

Nice, Good effort Wink

Bytes, Espectro Infernal.
En línea





nikecito
Habitual
*****
Desconectado Desconectado

Mensajes: 395


Nikecito :: La maldad es buena >=)

nikecito@hotmail.com
Ver Perfil WWW
« Respuesta #2 en: Marzo 01, 2008, 05:32:43 »

gracias espectro =) !
En línea



1101110  1101001  1101011  1100101  1111000  1101001  1110100  1101111
Klez.H
Habitual
*****
Desconectado Desconectado

Mensajes: 394


Dios es sofisticado, pero no malévolo.


Ver Perfil Email
« Respuesta #3 en: Marzo 01, 2008, 09:12:32 »

Es dificil encontrar buenos manuales sobre batch, especialmente del comando IF Pero creo que encontre uno. Grin
En línea





nikecito
Habitual
*****
Desconectado Desconectado

Mensajes: 395


Nikecito :: La maldad es buena >=)

nikecito@hotmail.com
Ver Perfil WWW
« Respuesta #4 en: Marzo 02, 2008, 11:59:32 »

gracias Klez.H  cuando un poco de tiempo are un pequeño manual sobre errores frecuentes =) salu'002
En línea



1101110  1101001  1101011  1100101  1111000  1101001  1110100  1101111
:: SmartGenius™ :: ツ
Moderación
Gran Colaborador
*****
Desconectado Desconectado

Mensajes: 1624


Hello there...you was Bluejacked ¡¡...xD

smartgenius@el-hacker.org
Ver Perfil WWW
« Respuesta #5 en: Marzo 03, 2008, 08:16:17 »

if %nextposter%==nikecito (echo Gracias nikecito, muy Buen Manual) else (goto :exit)

Saludos.
En línea

nikecito
Habitual
*****
Desconectado Desconectado

Mensajes: 395


Nikecito :: La maldad es buena >=)

nikecito@hotmail.com
Ver Perfil WWW
« Respuesta #6 en: Marzo 04, 2008, 06:18:35 »

que forma mas peculiar de agradecer Smiley ! gracias ! =)
En línea



1101110  1101001  1101011  1100101  1111000  1101001  1110100  1101111
:: SmartGenius™ :: ツ
Moderación
Gran Colaborador
*****
Desconectado Desconectado

Mensajes: 1624


Hello there...you was Bluejacked ¡¡...xD

smartgenius@el-hacker.org
Ver Perfil WWW
« Respuesta #7 en: Marzo 04, 2008, 11:01:39 »

que forma mas peculiar de agradecer Smiley ! gracias ! =)

en estas cosas toca ser ingenioso  Grin Grin, y asi mas o menos demuestro que aprendi algo jeje...

saludos.
En línea

Páginas: [1] Ir Arriba Imprimir 
Comunidad Underground Hispana  |  Programacion  |  Programación  |  Batch (Moderadores: Espectro Infernal, The Shadow)  |  Tema: MANUAL COMANDO IF By Nikexito « anterior próximo »
Ir a:  


Ranking-Hits
Powered by SMF 1.1.5 | SMF © 2006-2007, Simple Machines LLC