[B] Tutorial de Programación en Batch Nivel Medio By:-KuTeR-

Iniciado por ProcessKill, Febrero 24, 2010, 05:17:10 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Febrero 24, 2010, 05:17:10 PM Ultima modificación: Mayo 03, 2014, 07:24:51 PM por Flemon
[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-