[size=16]TUTORIAL DE PROGRAMACIÓN EN BATCH[/size]
Bueno aquí les traigo como les prometí el tutorial de batch de nivel medio, pensaba introducir la extracción de carácteres pero decidí darle un capítulo a parte ya que me prece muy interesante. Empiezo dando unos comandos básicos:
shutdown: apaga o reinicia el equipo Sintaxis:
shutdown -s -r -t tiempo -c mensaje
-s: apaga el equipo
-r reinicia el equipo
-t tiempo: tiempo en segundos en el que se apagará el equipo
-c: mensaje a mostrar
attrib: Sirve para modificar los permisos de los archivos Sintaxis:
attrib +/- Atributos Archivo
Atributos: Mirar en la cmd attrib /? hay que empezar a familiarizarse con el comando /? xd
+/- : + se usa para añadir un atributo y - para quitarlo.
Archivo: Archivo que queremos modificar
Assoc: Sirve para atribuir una extension diferente a u tipo de archivo Sintaxis:
assoc .extensionmodificada=batfile
Esto cambiaría la extension de los batch por .extensionmodificada
Para mirar los tipos de archivo ya sabeis assoc /?
For: El comando for es muy completo y se usa para dos cosas fundamentalmente: Para generar bucles y para procesar archivos. Aquí solo trataremos la primera opción y la otra la dejaremos para el tutorial avanzado
Sintaxis:
for /L %%a in (ini,paso,fin) do comando
%%a: variable en la que se almacenan los comandos
(ini,paso,fin): inicio, paso y fin del bucle por ejemplo: (0,1,10) esto empezaría en 0 iría de uno en uno y no pararía hasta llegar a 1o
comando: el comando a repetir por ejemplo cmd.exe. Si tomaramos como ejemplo el ini,paso,fin anterior abriría 10 cmd.exe
[size=13]Diseño en Batch[/size]
Esta parte va dedicada a mi bro MaNdItOo un buen diseñador :D
Bueno dirán, ¿Qué es esto de diseño en batch? ¿Acaso se puede diseñar en una pantalla negra con letras blancas?
Pues Sí!!
Empiezo dando algunos comandos básicos:
color: Cambia el color de fondo y de las letras de la cmd
color xx
el primer x hace referencia al color de fondo y el segundo al color de las letras. Ambos están simbolizados por números que se puedne ver poniendo en la cmd color /?
title: Cambia el título de la pantalla del cmd
title Título
mode con cols=x lines=x : Cambia el tamaño de la pantalla. Cols se refiere al alto de la pantalla y lines al ancho ambos van referidos con números.
[size=13]Creando Menus[/size]
En batch se pueden crear menús para hacer vuestras aplicaciones más vistosas.
Estos menús se crean con carácteres ASCII , dentro de poco subiré una lista de carácteres ASCII que cambian en la cmd para que creeis vuestros menus
Os dejo unos cuantos: É,È,Í,Ì,Ä,À,Á,
[size=13]Registro de Windows[/size]
Imaginaos que quereis hacer un virus y quereis que se ejecute siempre cuando se encienda el ordenador de la víctima, pues para eso se creo el comando reg
Con reg podreis crear,borrar,compara,exportar,importar etc claves de registro a vuestro antojo para poder hacer más potentes vuestros virus o simplemente para ejecutar vuestras aplicaciones al principio.
Extensiones de Reg
reg add: Añade una clave al registro
red del: borra una clave del registro
reg import: importa una clave al registro desde un archivo .reg
reg export: exporta una clave de registro hacia un archivo .txt por ejemplo
De momento solo vamos a ver estas aunque hay más
Iniciando con Windows una aplicación
Para esto se usa reg add y la sintaxis es la siguiente. (las comillas son muy importantes)
reg add "HKLM\Software\Microsoft\Windows\Current Version\Run" /v nombre /t REG_SZ /d rutaarchivo /f
en ombre y en ruta archivo van el nombre de la clave y la ruta del archivo que se quiere añadir.
para borrar una clave del registro se usa: reg del
reg del clave
[size=13]IF NOT E IF DEFINED[/size]
En el tutorial anterior os exliqué el uso del comando if, pero además de lo básico existen extensiones de este comando como son if not e if defined. Empezemos la casa por los cimientos
IF NOT: Con esto se indica que se ejecute un comando solo si la condición expecificada es falsa EJ:
IF NOT %var1%==%var2% (comando1) else (comando2)
Esto indica que el comando 1 se ejecute si %var1% no es igual a %var2% si sí lo es se ejecutara el comando 2
IF [NOT] Defined
Como ven a if defined se le puede añadir NOT para invertir es decir explicamos:
If not defined: La acción se ejecutará solo sí la variable expecificada no tiene valor definido
Ejemplo:
set /p var1=
si el usuario no da valor a esa variable debería volver al menu o mostrar un mensaje de error ¿no? Sería asi
if not defined %var1% (echo Error no has indicado valor para esta variable)
si el valor de la variable no es definido se mostrará el mensaje: Error no has indicado valor para esta variable.
[size=12]Otras "Curiosidades[/size]
si añades > nul despues de un comando el comando no mostrará información
Recomendación: Si quieres programar en batch necesitarás un compilador que te transforme los bat en exe y además que permita el modo Ghost es decir,que no se vea la pantallita del cmd.
Para salir de una etiqueta/bucle con goto se usa Goto:EOF
para dejar espacios visibles en el codigo se usa echo
Poner echo. en vez del simple echo te puede ahorrar disgustos xd
[size=11]DESPEDIDA[/size]
Bueno hasta aquí llega este tutorial os dejo una pista de lo que será el próximo tutorial
Tutorial de Programación en Batch By: -KuTeR-
-Parametrización
-For Avanzado
-Cifrado en Batch
-MiniVirus
-%ErrorLevel%
-Propagación USB y P2P
Y hasta aquí puedo Leer ;D
Salu2
Batch's Art By -KuTeR-