Título: Manual de Batch - Principiantes By Mr.Lerzep → Actualizado: [12 Nov. 2010]◄ Publicado por: Mr.Lerzep en 12 Noviembre 2010, 13:59 pm (http://img829.imageshack.us/img829/706/logomanualbatch.png) (http://img829.imageshack.us/i/logomanualbatch.png/) AVISO : Esta imagen tambien esta mal creo que ya se dieron cuenta por qué.Ultima Modificación : Lunes 12 de Noviembre del año 2010.
1 - El batch es un archivo de procesamiento por lotes interpretado por el MS-DOS de Windows , se puede programar en Batch con un Archivo de Texto plano en el cual se introducen los comandos , son ejecutados en grupo, de forma secuencial, permitiendo automatizar diversas tareas , los cuales se guardan con la extensiòn ".BAT". 1.1 - Ahora les voy a mostrar la mayoria de todos los comandos que vamos a usar durante nuestro aprendizaje : Código: # ECHO: imprime un texto en pantalla. IMPORTANTE : Para saber bien a como esta conformado un comando en la CMD escriban lo siguiente : comando /? , Ejemplo : time /? A PONERLOS EN PRACTICA : IMPORTANTE : Al principio de cada programa siempre debe llevar @ECHO OFF . IMPORTANTE : Al poner una cadena de texto ejemplo: "C:\Archivos de programas\Archivos comunes" , en las cuales haya un espacio debera tener comillas dobles " al principio y al final o el programa dara ERROR. Código IMAGEN : (http://img573.imageshack.us/img573/4335/holamundo.png) (http://img573.imageshack.us/i/holamundo.png/) En este simple code llamado Hola Mundo , lo que haria este bat seria poner de titulo Manual Batch - Principiantes , luego imprime en la pantalla , Hola mundo y luego mostrando la pausa y se cierra el programa. IMPORTANTE: Una cosa tambien muy importante es como guardar nuestro programa o bat , se hace de la siguiente manera : 1 - Luego de terminar de escribir vamos a Archivo -> Guardar como. 2 - Luego escriben el nombre de su bat Ejemplo : programa.bat 3 - Lo mas importante de todo es la extensio llamada .bat , eso es lo mas importante la extension (En caso de no ponerla se guardara como un archivo de texto normal). 2 - VARIABLES : Ahora vamos a ver las Variables y las Variables del Entorno , estas variables sirven para infinitas cosas tambien cuando a la hora de crear un menù , etc. VARIABLES DEL ENTORNO : Código: # %homedrive%=Disco local (habitualmente C:) Código Parece dificil no , no se desesperen es algo muy facil , explicare esta parte : Código: set /p nombre=Como te llamas ? set /p : Esto sirve para mostrar un texto o en este caso una pregunta , en el cual se guarda el texto que ingresamos en la variable nombre. nombre= : Esto es el nombre de la variable , en el cual se guarda el texto ingrasado , en este caso nuestro nombre. Como te llamas ? : Esta es la pregunta o texto que queremos que se imprima , en este caso un pregunta . AHORA MIREMOS ACA : Código Como ven aca usamos las variables %nombre% , %apellido% , etc. Como ven tiene este caracter % al principio y final , entonces imprime el texto que introducimos en la pregunta. VARIABLES DEL ENTORNO : Bueno como ya vimos las variables son muy parecidas , nada mas que estas estan definidas por el propio programa cmd.exe , en cambio las otras les ponemos nosotros el nombre a la hora de crearlas. Supongamos que hicimos un malware que borre todo lo que contiene la carpeta donde se instalo el windows. Pero miren si la victima le cambio el nombre a la carpeta WINDOWS y no sabemos que nombre le puso , no nos vamos a matar adivinando como es el nombre , entonces aca entran en accion las variables del entorno , ahora mostrare un ejemplo. Código Lo que haria esto es borrar todo lo que contiene la carpeta del Sistema Operativo Windows , y el comando del sirve para borrar calquier archivo y los siguientes caracteres son parametros : Código: -f : Este parametro hace que el archivo sea borrado a la fuerza. Tambien se preguntaron que es esto *.* , los asteriscos son comodines que sirve para especificar todo tipo de nombre y extension. En este caso de poner asi : a.* , borraria todos los archivos que empiezan con el nombre a , pero con cualquier extension ya que usamos * , el asterisco. 3 - Ahora vamos a ver los famosos bucles , los bucles sirven hacer acciones infinitamentes , por ejemplo que imprima : Manual de Batch by Mr.Lerzep , en color verde. A PONERLO EN PRACTICA: Código IMAGEN: (http://img243.imageshack.us/img243/9109/bucle.png) (http://img243.imageshack.us/i/bucle.png/) COLORES: ******************************************* 0 = Negro | 1 = Azul | 2 = Verde 3 = Aguamarina | 4 = Rojo | 5 = Púrpura 6 = Amarillo | 7 = Blanco | 8 = Gris 9 = Azul claro | | A = Verde claro | B = Aguamarina | C = Rojo D = Púrpura | E = Amarillo | F = Blanco ******************************************** Bien si ya lo pusieron seguro les quedo mas claro como funciona , como veran yo use 2 comandos que no mencione anteriormente y paso a explicarlos : Código: :bucle Esto sirve para crear el bucle con los con los : luego de los dos puntos se escribre el nombre de la etiqueta en este caso yo puse bucle para que lo enitendan pero se puede poner lo que quieran , recuerden que no pueden dejar espacios. Código: :goto bucle Esto sirve para regresar a una etiqueta poniendo los :goto seguido del nombre de la etiqueta en este caso bucle . 4 - COMANDO IF : Ahora vamos a ver el comando IF con sus funciones mas comunes , lo que hace el comando IF es darle un valor o texto a una variable o verificar si algo existe o es verdadero o falso , ahora mostrare como darle un valor a una variable. Código IMAGEN : (http://img177.imageshack.us/img177/556/17421188.png) (http://img177.imageshack.us/i/17421188.png/) Con set /p preguntamos : quien corre mas rapido la tortuga o el perro?. Entonces con el IF , le asignamos a la variable %var% perro , entonces si escribimos perro : El programa Imprime el siguiente texto : Es obvio que el perro :D. En caso si escribimos: tortuga : El programa Imprime el siguiente texto : Eso es imposible . Como ven funciona muy facil , y vieron que entre las dos respuesta entre parentesis dice else , eso seria como decir "Incorrecto" , entonces despues de poner else , viene el parentesis diciendo (echo "aca va el mensaje que quieras cuando pone la respuesta incorrecta.") y en el primer parentesis va la respuesta correcta. Ahora vamos a ver el comando IF NOT , es exactamente los mismo pero nada mas que al reves seria asi el ejemplo : Código Si lo prueban se dan cuenta rapidamente como funciona. Ahora vamos a ver IF EXIST y IF NOT EXIST , esto sirve para comprobar si algo existe , a continuación voy a dar un ejemplo sencillo : Código
Bueno esto es muy similar ah lo anterior nada mas que aca verificamos que algo exista , en este caso la carpeta llamada WINDOWS , en caso de que exista imprimira el siguiente mensaje : Tenes Instalado el Windows. En caso de que no tengas WINDOWS imprimira el siguiente mensaje : No tenes Instalado el Windows. Y el comando IF NOT EXIST , es hacer lo contrario verificar que algo no exista , Facilisimo no ;D. 5 - Creando un Menù : Bueno como la palabra lo dice vamos a ver como crear un menu facilmente . Código IMAGEN : (http://img826.imageshack.us/img826/5143/menual.png) (http://img826.imageshack.us/i/menual.png/) Es facìl de usar solo tiene que presionar el numero de la opcion , como ven hacemos una pregunta con set /p var= que pregunta que opcion elejimos , si presionamos el 1 abre el notepad , pero como hacemos que tocando solo el numero 1 se abra el bloc de notas. Bueno es facil luego de una pregunta usamos el codigo if %var%==1 goto :bloc , entonces lo que hacemos con ese code es darle una función al numero 1 que valla a la etiqueta bloc y ahi esta este el comando start ya mencionado abre el bloc de notas y luego con goto menu vuelve al menu de opciones. Lo mismo pasa con la opcion 2 que abre una ventana del MS-DOS. 6 - Bueno ahora vamos a ver la union o concatenación de codes , vamos al ejemplo para entenderlo mejor : Código
Bueno explico el code seguramente entienden todo ah esta altura , pero hay un caracater que no vimos que es este & , este es el que sirve para unir acciones como pueden ver , lo que hace esto es verificar si tenes un Disco Local o Raiz , obviamente todos tenemos ;D , y da el mensaje de : Tenes Disco Rigido despues con & , hace otra acción que es ir a la etiqueta notepad y abre una ventana del MS-DOS o CMD. Ahora vamos a ver las redirecciones de texto , vamos a utilizar los siguientes caracters : > y >> , ahora vamos a ver el ejemplo : Código Bien ahora pruebenlo , como veran nos movemos al DISCO LOCAL o RAIZ , y una linea que dice : Mr.Lerzep , entonces esto se guarda dentro del archivo lineas.txt , entonces con esta redirección >> , guardamos un texto sin borrar nada de lo que contiene pero ahora prueben esto : Código Hace lo mismo pero con > esto borran todo el contenido anterior en cambio asi >> , se crean nuevas lineas debajo de las anteriores. Tambien pueden redireccionar por Dispositivos de Salida com Impresora o Pantalla , etc : Código: Dispostivos de Salida . Ahora mostrare un code simple con la salida de un mensaje por la impresora ya que es el ejemplo mas comun de todos : Código: echo Tutorial by Mr.Lerzep > prn Eso lo que haria es dar salida al mensaje por la impresora. 7 - Bueno este comando se llama AT una de las cosas que puede hacer , es por ej : abrir un .bat en la fecha y hora que se lo deseé . A continuacion vamos a ponerlo en practica para ver como funcina y su code : Código IMAGEN: (http://img251.imageshack.us/img251/2759/93295612.png) (http://img251.imageshack.us/i/93295612.png/) Que es lo que haria eto despues de ejecutarse daria un mensaje igual a este : Se ha agregado un nuevo trabajo con identificador = X , se apagaria la PC en 00 Segundos con un comentario que diria lo siguiente : The PC is damaged , pero no crean que solo pueden apagar la PC se pueden hacer muchas cosas. Ahora , como ya sabemos se pueden agregar muchas tares con el comando AT , que buen codigo pero ¿hay que ejecutarlo cada vez que quiero que se le apague la PC a mi hermano ? si ¿No hay otra manera de que se ejecute automaticamente? Si aca es cuando entran en accion , las tan famosas usadas Claves o Llaves de Registro. Código Ustedes se preguntaran que es esto de REG ADD ? Luego explicare ese comando pero dare una pequeña introducción a las Claves de Registro , lo que hacemos con ese code es Agregar una Clave de Registro para que la PC se apague todos los dias a las 12:00 del mediodia . Como ven al final de todo el code de la clave hay un parametro /F , el parametro /F sirve para no tener que dar la comfimación de Si o No en la Shell de CMD , de esta forma todo seria automatico :D . COMANDO REG Y SUS FUNCIONES : Bueno vamos avanzar un poco mas vamos a ver las Claves o LLaves de Registro anteriormente usadas , bueno la claves de registro son muy delicadas y peligrosas si no se usan con cuidado ya que algo mal planeado puede causar daños en la PC pero no es para que se asusten tranquilos , mas que nada el comand REG nos ayudara a la hora de crear malwares ya que con este grandioso comando se autoejecutarian todos días sin problema alguno , a continuación dare una lista de los comandos REG mas importantes miremos atentamente : Código: REG ADD - Esto sirve para agregar una nueva clave de registro. Empezemos a ver cada una de estos codes detalladamente : Bueno como ya antes usado en la parte anterior , ya vimos como era su sintaxis la volvere a recordar y a explicar : REG ADD: Código: REG ADD "HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v sysin2 /t REG_SZ /d "C:/apagon.bat" /f REG QUERY: Sintaxis : REG QUERY CLAVE [/v nvalor | /ve] [/s] Analizamos: clave [\equipo\] clave Equipo : Nombre del equipo remoto . Si se omite se usa el equipo actual. En los equipos remotos sólo están disponibles : HKLM y HKU. Clave : Con la forma nombre de CLAVERAIZ\SUBCLAVE. CALVERAIZ : HKLM - HKCU - HKU - HKCC. Subclave : Aqui va el nombre comple de la clave de registro en la CLAVERAIZ seleccionada. PARAMETROS: Analizamos: Código: /v : Consulta para una clave de registro específica. Ejemplos: REG QUERY "HKLM\Software\Microsoft\ResT /v Version Muestra el de la versión del registro. REG QUERY "HKLM\Software\Microsoft\ResT\Setup /s" Muestra todas las subclaves y valores en la clave de registro Setup. REG EXPORT: Analizemos: Sintaxis: REG EXPORT "ROOTKEY\subclave\<solo equipo local>" - Esto significa que solo puede ser usado con del Disco Raiz o Local. PARAMETROS: Código: ROOTKEY : HKLM - HKCU - HKCR - HKU - HKCC Ejemplos: REG EXPORT "HKLM\Software\MiCo\MiAp CopiAp.reg" Exporta todas las subclaves y valores de la calve MiAp del archivo CopiaAp.reg REG COMPARE: Analizemos sintaxis: REG COMPARE clave 1 clave 2 [/v valor | /ve] [salida] [/s] Parametros: Código: clave : [\\equipo\]tc clave. Codigo devuelto: Código: 0 - Correcto , el resultado comparado es identico. Ejemplos: REG COMPARE "HKLM\Software\MiCo\MiAp" "HKLM\Software\MiCo\GuardaMiAp" Compara todos los valores dentro de la clave MiAp con GuardaMiAp . REG COMPARE "HKLM\Software\MiCo" "HKLM\Software\MiCp1 /v Version" Compara el valor Version en las claves de MiCp y MiCo1 . REG IMPORT: Analizemos: Sintaxis: REG IMPORT archivo PARAMETROS: Código: Archivo : Nombre del directorio de disco a importar. Ejemplos: REG IMPORT CopiaAp.reg Importa entradas de registro del archivo CopiaAp.reg 8- Bueno ahora vamos a ver unos comandos para empezar basicamente : Comando NETSTAT : Sintaxis : NETSTAT [parametro] Este comando sirve para ver como esta la RED en si : Parametros: Código: -a : Muestra todas las conexiones y los puertos locales. IMAGEN NETSTAT : (http://img839.imageshack.us/img839/9936/netstat.png) (http://img839.imageshack.us/i/netstat.png/) Comando NSLOOKUP : Sintaxis : NSLOOKUP [dominio] Muestra Servidor , IP , Empresa de INET :D , y el dominio. IMAGEN NSLOOKUP: (http://img220.imageshack.us/img220/3909/nslookupi.png) (http://img220.imageshack.us/i/nslookupi.png/) Comando PING : Envia paquetes al host para ver su disponibilidad. Parametros: Código: -t : Ping al host especificado hasta que pare. IMAGEN PING : (http://img203.imageshack.us/img203/8917/pingjq.png) (http://img203.imageshack.us/i/pingjq.png/) Comando NET : Este comando es utilizado para las redes. Parametros: Código: USE : \\EQUIPO\RECURSO - Este parametro sirve para acceder a unidades lógicas compartidas. Se le asignará un nombre de unidad y estará disponible como una unidad mas del sistema. Comando IPCONFIG: Sintaxis : ipconfig [parametros] Parametros : Código: -/? : Muestra la ayuda . IMAGEN IPCONFIG: (http://img143.imageshack.us/img143/9416/ipconfigq.png) (http://img143.imageshack.us/i/ipconfigq.png/) Ejemplos : Código: > ipconfig : Muestra la imformación. Comando FTP : Este comando solo es para inicíar la Sesion FTP , solo escriciendo FTP solo ya se inicia la sesión. Sintaxis : >ftp IMAGEN FTP : (http://img526.imageshack.us/img526/6064/ftpe.png) (http://img526.imageshack.us/i/ftpe.png/) Comando TELNET : Este comando sirve para tener acceso a un servidor exterior. Sintaxis : telnet [IP] [PUERTO] Parametros : Código: -a : Intento de conexión automatico. Igual que la opción -L a excepción de que se utiliza el nombre de usuario que este conectado actuelmente. Comando TRACERT : Sintaxis : TRACERT [PARAMETROS] Parametros : Código: -d : No convierte direcciones en nombre de host. 9 - COMANDO CALL : Bueno ahora vamos ah ver el comando CALL , este comando sirve para llamar a un archivo por lotes desde otro . Sintaxis con Ejemplo: CALL "%homedrive%\WINDOWS\tutorial.bat" Analizamos : Esto abriria en simples palabras el script tutorial.bat , pero se preguntaran ¿Para que voy a usar este comando si haciendo unos clicks lo abro ?. La diferencia es que con el comando CALL , puede abrir otros .bat sin tener que salir del actual. Tambien se pueden LLAMAR ETIQUETAS , dare un ejemplo simple primero guarden el bat con el siguiente code y abranlo : Código
Vieron como funciona , como llamamos a la etiqueta bucle , y luego el .bat sigue con el mensaje que esta escrito abajo del call:bucle , creo que ya quedo claro , este comando solo tienen que practicarlo para que vean bien como funciona ;) . 10 - Bueno como prometi vamos a ver el comando SET & Sus Funciones , ahora vamos a ver algunas de sus funciones : Código Prueben esto y se daran cuenta como funciona , igual lo explico , ahora explicao las partes del code : Código En este code creamos la variable nombre y dentro de ella guardamos datos , en este caso mi nombre ;) . Código Aca mostramos en pantalla Mi nombre es Ignacio Barreiro , ya que la variable nombre contiene ese dato. Ahora vamos a ver SET /P (Anteriormente visto.) , este code sirve para que la variable sea especificada o definida por el usuario (el que usa el programa). Código Prueben este code y se daran rapidamente como funciona . Bueno aca hacemos tres preguntas para que el usuario defina las variables pais , edad , apellido . Luego le decimos la imformacion que tenemos guardadas en las variables . Ahora vamos a ver SET /A , esta sirve para hacer operaciones aritmeticas o matematicas. Código Ahora lo copian lo guardan lo ejecutan y verar rapidamente como es que funcionan ya que no es dificil de entender. Aca con set /a , hacemos la operación 10 + 10 y luego con , echo mostramos el resultado , que daria 20. Estas son las operaciones : + : Sumar. - : Restar. * : Multiplicar. / : Dividir. 11 - Bueno esto va para los que esta siguiendo el Tutorial de Batch , ahora voy a dar unos cuantos ejercicios que ire agregando cada vez que puedo y/o se me ocurra alguno : ATENTOS :[/b] Los codigos deberan mandarmelos por MP (Mensajes Privado) para que solo yo pueda verlos , ya què si los publican en el Tema no tendria gracia por que algunos los podrian copiar . Ejercicio Nº 1 : Hacer un .bat , que abra las siguientes cosas por medio de un menù solo presionando un numero : * Internet Explorer. * Mozilla Firefox. * CMD. * Windows Live Mensseger. * Pagina de Google. Ejercicio Nº 2 : Hacer una Calculadora què por medio de un menù permita hacer las siguientes operaciones aritmeticas entre 2 nùmeros: * Sume. * Reste. * Multiplique. * Divida. DESCARGAS : Tutorial Batch Principiantes by Mr.Lerzep (http://www.mediafire.com/?17ogio6gvkkivto) BAT to EXE Converter by Mr.Lerzep - Para pasar tus .BAT a .EXE (http://www.mediafire.com/?xkber6a27w1e5sa) PD : Me costo muchisimo escribir todo espero les haya servido y tambien ire agregando mas contenido asi que los que se van a iniciar con el BATCH esten atentons ya que espero dia a dia hacer mas extenso el Tutorial . Gracias Por Leer. TODOS LOS COMENTARIOS Y ANIMOS SON BIENVENIDOS! Salu2 Elhacker.net. Título: Re: Manual de Batch - Principiantes By Mr.Lerzep → Actualizado: [12 Nov. 2010]◄ Publicado por: seele en 12 Noviembre 2010, 15:00 pm Excelente manual, muy bien desarrollado. sigue asi ;)
Saludos! Título: Re: Manual de Batch - Principiantes By Mr.Lerzep → Actualizado: [12 Nov. 2010]◄ Publicado por: Mr.Lerzep en 12 Noviembre 2010, 15:14 pm Excelente manual, muy bien desarrollado. sigue asi ;) Saludos! Muchas Gracias! seele este manual lo tengo hace un tiempo y como soy nuevo en el foro me gusto poder compartirlo con ustedes ;) Salu2 Gracias por el Comentario ;) Título: Re: Manual de Batch - Principiantes By Mr.Lerzep → Actualizado: [12 Nov. 2010]◄ Publicado por: gallino en 19 Diciembre 2010, 04:36 am Brutal!,Increible demasiado bueno muy bn explicao y bn detallado. Duda con el call. si yo tengo un batch q se llama tranca(hubicado en el C: solo escribo en medio del comando call: tranca.bat y ya?
Lo demas muy bueno GRACIAS BRO!!! Título: Re: Manual de Batch - Principiantes By Mr.Lerzep → Actualizado: [12 Nov. 2010]◄ Publicado por: gallino en 20 Diciembre 2010, 04:09 am YA entendi el Call jajaj Gracias :) excelente tutorial me ayudo mucho
Título: Re: Manual de Batch - Principiantes By Mr.Lerzep → Actualizado: [12 Nov. 2010]◄ Publicado por: master_death en 31 Marzo 2011, 20:22 pm Exelente manual muy bien explicado y detallado gracias por tu aporte Mr.Lerzep
soy newbie en bacth y en muchas cosas pero con manuales como el tuyo y con dedicacion podemos aprender muchas personas... ;-) "LAS IDEAS NO SIRVEN DE NADA SI NO SE IMPLEMENTAN" Título: Re: Manual de Batch - Principiantes By Mr.Lerzep → Actualizado: [12 Nov. 2010]◄ Publicado por: SuperDraco en 1 Abril 2011, 02:33 am he visto una errata nada más empezar a leer:
11 .- Ejerciocios o Tareas. :xD por el resto...BUENISIMO!!! me gusta mucho la manera en la que explicas los pasos en las imagenes, muy bueno sigue así! Saludosss. |