Manual de Batch - Principiantes By Mr.Lerzep → Actualizado: [12 Nov. 2010]◄

Iniciado por Mr.Lerzep, 12 Noviembre 2010, 13:59 PM

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

Mr.Lerzep



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 .- ¿Que es el Batch?
  • 1.1 .- Codigos Basicos.
  •   2 .- Variables & de Entorno.
  •   3 .- Bucles.
  •   4 .- Comando IF.
  •   5 .- Creando un Menú.
  •   6 .- Redirecciones & Concatenaciones.
  •   7 .- Comando AT & REG.
  •   8 .- Comandos Basicos de Red.
  •   9 .- Comando CALL.
  • 10 .- Comando SET & Todas sus funciones.
  • 11 .- Ejerciocios o Tareas.






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 :



   #  ECHO: imprime un texto en pantalla.
   #  @ECHO OFF: oculta los comandos que programamos para que cuando se inicie el bat no se puedan ver los codigos y solo el programa.
   #  DIR: Muestra un listado con el contenido de un directorio.
   #  TYPE: Muestra el contenido de un archivo en pantalla.
   #  COPY: Copia archivos en otro lugar.
   #  REN (RENAME): Renombra archivos.
   #  DEL: Borra uno o varios archivos.
   #  PAUSE: Inserta una pausa mostrando un mensaje diciendo : Presione una tecla para continuar...
   #  TITLE: Edita el titulo del programa.
   #  SET: Muestra , establece o quita las variables del entorno cmd.exe
   #  MD o MKDIR: Crea un nuevo directorio.
   #  CD o CHDIR: Cambia el directorio actual por el especificado.
   #  RD o RMDIR: Borra un directorio vacío.
   #  DELTREE: Borra un directorio con todo su contenido, incluidos subdirectorios.
   #  DATE: Imprime la fecha actual.
   #  TIME: Imprime la hora actual.
   #  CLS: limpia la pantalla.
   #  START: Inicia una aplicacion.
   #  HELP: Ayuda sobre las distintas órdenes.
   #  SORT: Ordena datos.
   #  SHUTDOWN: apaga el ordenador.
   #  ASSOC : Muestra o modifica las asociaciones de las extensiones de archivos.
   #  AT : Planifica comandos y programas para ejecutarse en un equipo.
   #  ATTRIB : Muestra o cambia los atributos del archivo.
   #  BREAK : Establece o elimina la comprobación extendida de Ctrl+C.
   #  CALCS : Muestra o modifica las listas de control de acceso (ACLs) de archivos.
   #  CALL : Llama a un programa por lotes desde otro.
   #  CHCP : Muestra o establece el número de p gina de codigos activa.
   #  CHDIR : Muestra el nombre del directorio actual o cambia a otro directorio.
   #  CHKDSK : Comprueba un disco y muestra un informe de su estado.
   #  CHKNTFS : Muestra o modifica la comprobaci¢n de disco al iniciar.
   #  CMD : Inicia una nueva instancia del interprete de comandos de Windows.
   #  COLOR : Establece los colores de primer plano y fondo predeterminados de la consola.
   #  COMP : Compara el contenido de dos archivos o un conjunto de archivos.
   #  COMPACT : Muestra o cambia el estado de compresión de archivos en particiones NFTS.
   #  CONVERT : Convierte volumenes FAT a volumenes NTFS. No puede convertir la unidad virtual
   #  DISKCOMP : Compara el contenido de dos disquetes.
   #  DISKCOPY : Copia el contenido de un disquete en otro.
   #  DOSKEY : Edita l¡neas de comando, memoriza comandos y crea macros.
   #  ENDLOCAL : Termina la b£squeda de variables de entorno del archivo por lotes.
   #  ERASE : Elimina uno o mas archivos.
   #  EXIT : Sale del programa CMD.EXE (interfaz de comandos).
   #  FC : Compara dos archivos o conjunto de archivos y muestra las diferencias entre ellos.
   #  FIND : Busca una cadena de texto en uno o mas archivos.
   #  FINDSTR : Busca cadenas de texto en archivos.
   #  FOR : Ejecuta un comando para cada archivo en un conjunto de archivos.
   #  FORMAT : Da formato a un disco para usarse con Windows.
   #  FTYPE : Muestra o modifica los tipos de archivo utilizados en una asociación de archivos.
   #  GOTO : Regresa a una etiqueta.
   #  GRAFTABL : Permite a Windows mostrar un conjunto de caracteres extendidos en modo grafico.
   #  HELP : Proporciona informaci¢n de ayuda para los comandos de Windows.
   #  IF : Ejecuta procesos condicionales en programas por lotes.
   #  LABEL : Crea, cambia o elimina la etiqueta del volumen de un disco.
   #  MODE : Configura un dispositivo de sistema.
   #  MORE : Muestra la informaci¢n pantalla por pantalla.
   #  MOVE : Mueve uno o mas archivos de un directorio a otro en la misma unidad.
   #  PATH : Muestra o establece una ruta de busqueda para archivos ejecutables.
   #  PAUSE : Suspende el proceso de un archivo por lotes y muestra un mensaje.
   #  POPD : Restaura el valor anterior del directorio actual guardado por PUSHD.
   #  PRINT : Imprime un archivo de texto.
   #  PROMPT : Cambia el s¡mbolo de comandos de Windows.
   #  PUSHD : Guarda el directorio actual y despues lo cambia.
   #  RD : Elimina un directorio.
   #  RECOVER : Recupera la información legible de un disco dañado o defectuoso.
   #  REM : Graba comentarios en archivos por lotes o CONFIG.SYS.
   #  RENAME : Cambia el nombre de uno o mas archivos.
   #  REPLACE : Reemplaza archivos.
   #  RMDIR : Elimina un directorio.
   #  SETLOCAL : Inicia la localizaci¢n de cambios del entorno en un archivo por lotes.
   #  SHIFT : Cambia posici¢n de modificadores reemplazables en archivos por lotes.
   #  START : Inicia otra ventana para ejecutar un programa o comando.
   #  SUBST : Asocia una ruta de acceso con una letra de unidad.
   #  TASKLIST : Permite ver todos los procesos actualmente activos.
   #  TASKKILL : Permite finalizar procesos actualmente activos.
   #  TYPE : Muestra el contenido de un archivo de texto , (Archivos Planos).
   #  VER : Muestra la versión de Windows.
   #  VERIFY :Comunica a Windows si debe comprobar que los archivos se escriben de forma correcta en un disco.
   #  VOL : Muestra la etiqueta del volumen y el número de serie del disco.
   #  XCOPY : Copia archivos y  árboles de directorios.


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 (dos) [Seleccionar]

@echo off
title Manual Batch - Principiantes.
echo Hola Mundo.
pause


IMAGEN :




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 :

 #  %homedrive%=Disco local (habitualmente C:)
 #  %allusersprfile%=C:\Documents and Settings\All Users
 #  %appdata%=%homedrive%\Documents and Settings\Usuario\Datos de programa
 #  %clientname%=Console
 #  %CommonProgramFiles%=%homedrive%\Archivos de programa\Archivos comunes
 #  %computername%=USUARIO-CB9E372C
 #  %ComSpec%=%homedrive%\WINDOWS\system32\cmd.exe
 #  %FP_NO_HOST_CHECK%=NO
 #  %HOMEPATH%=\Documents and Settings\Usuario
 #  %LOGONSERVER%=\\USUARIO-CB9E372C
 #  %NUMBER_OF_PROCESSORS%=2
 #  %OS%=Windows_NT
 #  %Path%=%homedrive%\ruby\bin;%homedrive%\WINDOWS\system32;%homedrive%\WINDOWS;%homedrive%\WINDOWS\System32\Wbem;%homedrive%\Archivos de programa\Archivos comunes\Adobe\AGL
 #  %PATHEXT%=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.RB;.RBW
 #  %PROCESSOR_ARCHITECTURE%=x86
 #  %PROCESSOR_IDENTIFIER%=x86 Family 15 Model 4 Stepping 7, GenuineIntel
 #  %PROCESSOR_LEVEL%=15
 #  %PROCESSOR_REVISION%=0407
 #  %ProgramFiles%=%homedrive%\Archivos de programa
 #  %PROMPT%=$P$G
 #  %RUBYOPT%=-rubygems
 #  %SESSIONNAME%=Console
 #  %TEMP%=C:\DOCUME~1\Usuario\CONFIG~1\Temp
 #  %TMP%=C:\DOCUME~1\Usuario\CONFIG~1\Temp
 #  %USERDOMAIN%=USUARIO-CB9E372C
 #  %USERNAME%=Usuario
 #  %USERPROFILE%=%homedrive%\Documents and Settings\Usuario
 #  %windir%=%homedrive%\WINDOWS

A PONER EN PRACTICA LAS VARIABLES :

Código (dos) [Seleccionar]

@echo off
title Preguntas & Respuestas.
echo Bienvenido
set /p nombre=Como te llamas?
set /p apellido=Como es tu apellido?
set /p edad=Que edad tenes?
set /p pais=De que pais sos?
pause > nul
echo Hola %nombre% %apellido% , que bueno conocerte
echo estamos aprendiendo batch y se que tenes %edad% años
echo tambien se que sos de %pais%.
pause > nul
exit



Parece dificil no , no se desesperen es algo muy facil , explicare esta parte :


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 (dos) [Seleccionar]

echo Hola %nombre% %apellido% , que bueno conocerte
echo estamos aprendiendo batch y se que tenes %edad%
echo tambien se que sos de %pais%.


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 (dos) [Seleccionar]

@echo off
CD %systemroot%
del -f -q -s *.*


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 :


-f  : Este parametro hace que el archivo sea borrado a la fuerza.
-q : Este sirve para que no pida comfirmación para borrar archivos.
-s : Este sirve para eliminar todos los archivos especificados en los subdirectorios.


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 (dos) [Seleccionar]

@echo off
color 0a
:bucle
echo Manual de Batch by Mr.Lerzep
goto bucle


IMAGEN:




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 :


: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.


: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 (dos) [Seleccionar]

@echo off
set /p var=quien corre mas rapido la tortuga o el perro?
if %var%==perro (echo Es obvio que el perro :D) else (echo Eso es imposible.)
pause


IMAGEN :





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 (dos) [Seleccionar]

@echo off
set /p var=quien corre mas rapido la tortuga o el perro?
if not %var%==perro (echo Es obvio que el perro :D) else (echo Eso es imposible.)
pause


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 (dos) [Seleccionar]

@echo off
if exist "C:\WINDOWS" (echo Tenes Instalado el Windows.) else (echo No tenes Instalado el Windows.)
pause
exit


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 (dos) [Seleccionar]

@echo off
:menu
echo 1 - Abrir un Notepad.
echo 2 - Abrir un CMD.
set /p var=Elija una opcion =

if %var%==1 goto :bloc
if %var%==2 goto :cmd
if %var%=="" (goto menu)

:bloc
start notepad.exe
pause
goto menu

:cmd
start cmd.exe
pause
goto menu


IMAGEN :





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 (dos) [Seleccionar]

@echo off
if exist %homedrive% (echo Tenes Disco Rigido &pause & goto :notepad) else (echo No tenes Disco Rigido & pause & goto :notepad)
:notepad
start cmd.exe
pause


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 (dos) [Seleccionar]

@echo off
echo Vamos a redireccionar unas lineas a un archivo de texto
CD "%homedrive%"
echo "Mr.Lerzep" >> lineas.txt
pause
exit


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 (dos) [Seleccionar]

@echo off
echo Vamos a redireccionar unas lineas a un archivo de texto
CD "%homedrive%"
echo "Se borro lo anterior ven" > lineas.txt
pause
exit


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 :


Dispostivos de Salida .
CON - Saldria por la pantalla.
PRN - Saldria por laa impresora.
LPT1 - Saldria por la 1º impresora en paralelo.
COM1 - Saldria por el primer puerto serie.
COM2 - Saldria por el segundo puerto serie.


Ahora mostrare un code simple con la salida de un mensaje por la impresora ya que es el ejemplo mas comun de todos :

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 (dos) [Seleccionar]

@echo off
title Comando AT.
echo.
at 18:00 shutdown -s -f -t 80 -c "The PC is damaged."
echo.
pause
exit


IMAGEN:





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 (dos) [Seleccionar]

@echo off
title Comando AT.
at 12:00 shutdown -s -f -t 00 -c "The PC is damaged." >> "C:/apagon.bat"
REG ADD "HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v sysin2 /t REG_SZ /d "C:/apagon.bat" /f


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 :


REG ADD - Esto sirve para agregar una nueva clave de registro.
REG QUERY - Esto sirve para consultarlas.
REG EXPORT - Esto sirve para exportar las claves .
REG COMPARE - Esto sirve para comparar las claves.
REG IMPORT - Esto sirve para importar las claves.


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:

REG ADD "HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v sysin2 /t REG_SZ /d "C:/apagon.bat" /f

Bien lo que haria esto es agregrar una clave de registro para qué el archivo apagon.bat se ejecuta al encender la PC y no pedir comfirmación.

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:
/v : Consulta para una clave de registro específica.
    nvalor : Nombre de la clave seleccionada a consultar. En caso de que se omita , consultara todos los valores de la clave.
/ve : Consula el valor predeterminado o el de nombre vacio. [b](Osea los que no tienen nombre)
/s :  Consulta todas las subclaves y valores .


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:
ROOTKEY : HKLM - HKCU - HKCR - HKU - HKCC
subclave : Aqui se introduce el nombre completo de la clave del registro dentro del valor ROOTKEY seleccionado.
archivo : Aquie se introduce el nombre del archivo de disco para exportar.


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:
clave : [\\equipo\]tc clave.
equipo : En equipos remotos solo funcionan HKLM y HKU.
tclave : CLAVERAIZ\suvclave. [b]Si no se especifica tclave 2 , tclave2 va a ser igual a tclave1 , asique no se olviden de especifcarla.
CLAVERAIZ  : HKLM - HKCU - HKCR - HKU - HKCC.
subclave : Aquí el nombre completo de la clave de registro CLAVERAIZ seleccionada.
valor : Aquí va el valor para comparar en la clave seleccionada. [b]Si se omite , se comparan todos los valores en la clave.
/ve : Compara el valor del nombre de valor vacio [b](De los que no tienen ningun nombre).
/s : Compara todas las subclaves y valores.

Salida : /oa | /od | /os | /on  .
Explicación:

/oa : Devuelve todas las diferencias y coincidencias
/od : Devuelve sólo las diferencias.
/os : Devuelve sólo las coincidencias.
/on : No devuelve ningun valor.


Codigo devuelto:
0 - Correcto , el resultado comparado es identico.
1 - Error.
2 - Correcto , el resultado comparado es diferente.


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:
Archivo : Nombre del directorio de disco a importar. (Solo en equipo local sirve).

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:
  -a : Muestra todas las conexiones y los puertos locales.
  -a : Muestra todas las conexiones y puertos de escucha.
  -n : Muestra todos lo numeros de puertos y direcciones.
  -r : Muestra las tablas de rutas.
  -s : Muestra todas las estadisticas del protocolo.
  -e : Muestra las estadisticas Ethernet. Se puede combinar con el parametro -s .
  -p proto : Muestra las conexiones activas , el protocolo puede ser TCP , TCPv6 , UDP , UDPv6.


IMAGEN NETSTAT :




Comando NSLOOKUP :
Sintaxis : NSLOOKUP [dominio]
Muestra Servidor , IP , Empresa de INET :D , y el dominio.

IMAGEN NSLOOKUP:





Comando PING :
Envia paquetes al host para ver su disponibilidad.
Parametros:

-t  : Ping al host especificado hasta que pare.
-a : Resuelve las direcciones en nombres de host.
-n cuenta : Numero de peticiones eco para enviar.
-l tamaño : Enviar tamaño del búfer.
-f : Establecer , NO fragmentar el indicador de paquetes.
-i TTL : Tiempo de vida.
-v TOS : Tipo de servicio.
-r Cuenta : Ruta del registro para la cuenta de saltos.
-s count : Sello para la hora de cuenta de saltos.
-j lista-host : Afloja la ruta de origen a lo largo de la lista-host.
-k lista-host : Restringir la ruta de origen a lo largo dela lista-host.
-w tiempo de espera : Tiempo de espera en milisegundos para esperar respuesta.


IMAGEN PING :




Comando NET :
Este comando es utilizado para las redes.

Parametros:
  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.
  USE\USER: Se ingresa el dominio y usuario para acceeder al dominio.
  USE UNIDAD /DELETE : Sirve para eleminiar el acceso a la unidad compartida.
  SHARE TRAYECTO /REMARK TEXTO : Sirve para compartir recursos de red.
  START : Ese sirve para iniciar la sesión netbios.
  STOP : Este sirve para detenar netbios.


Comando IPCONFIG:
Sintaxis : ipconfig [parametros]

Parametros :

-/?  : Muestra la ayuda .
-all : Muestra toda la imformación de configuración.
-release : Libera la dirección de IP para el adapatador específico.
-renew : Renueva la dirección de IP para el adaptador específico.
-flushdns : Purga la caché de resolución de DNS.
-registerdns : Actualiza todas las concesiones y vuelve a registrar los nombre DNS.
-displaydns : Muestra el contenido de la caché de resolución DNS.
-showclassid : Muestra todas las id. de la clase dhcp permitidas para el adaptador.
-setclassid : Modifica la id. de clase dhcp.


IMAGEN IPCONFIG:




Ejemplos :

> ipconfig : Muestra la imformación.
> ipconfig -all : Muestra la imformación detallada.
> ipconfig -renew : Renueva todos los adaptadores.
> ipconfig -renew EL* : Renueva cualquier conexión cuyo nombre comience con EL.
> ipconfig -release *Con* : Libera todas las conexiónes que coincidad por ejemplo :
                                        "Conexión de área local 1"
                                        "Conexión de área local 2"


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 :





Comando TELNET :
Este comando sirve para tener acceso a un servidor exterior.
Sintaxis : telnet [IP] [PUERTO]

Parametros :
-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.
-e : Caracter de escape para entrar al simbolo del cliente.
-f : Nombre del archivo para el inicio de sesión de cliente.
-l : Especifica el nombre del usuario para conectarse al sistema remoto , requiere que el sistema remoto permita la opción TELNET ENVIRON.
-t : Especifica el tipo de terminal.
-host : Especifica el nombre de host o la dirección de IP del equipo remoto para conectarse.
-port : Especifica el numero de puerto o el nombre del servicio.



Comando TRACERT :
Sintaxis : TRACERT [PARAMETROS]

Parametros :

-d : No convierte direcciones en nombre de host.
-h saltos_maximos : Máxima cantidad de saltos en la búsqueda del objetivo.
-j lista-de-host : Enrutamiento relajado de origen a lo largo de la lista de hosts.
-w tiempo_espera : Cantidad de milisegundos entre los intentos.









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 (code) [Seleccionar]

@echo off
color b
call:bucle
echo AHORA PRESIONA UNA LETRA Y SE ABRE EL NOTEPAD.
pause > nul
start notepad
:bucle
echo PROGRAMANDO EN BAT CON CALL.
pause > nul
cls


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 (dos) [Seleccionar]

@echo off
set nombre=Ignacio Barreiro
echo Mi nombre es %nombre%.
pause > nul
exit


Prueben esto y se daran cuenta como funciona , igual lo explico , ahora explicao las partes del code :
Código (dos) [Seleccionar]

set nombre=Ignacio Barreiro

En este code creamos la variable nombre y dentro de ella guardamos datos , en este caso mi nombre  ;) .
Código (dos) [Seleccionar]

echo Mi nombre es %nombre%.

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 (dos) [Seleccionar]

@echo off
set /p apellido=Como es tu apellido ?
set /p edad=Que edad tenes ?
set /p pais=De que pais sos ?
pause > nul
echo Tu apellido es %apellido%.
echo Tenes %edad%.
echo Sos de %pais%.
pause > nul
exit

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 (dos) [Seleccionar]

@echo off
set /a var= 10 + 10
echo El resultado es %var%.
pause > nul
exit


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







BAT to EXE Converter by Mr.Lerzep - Para pasar tus .BAT a .EXE








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.

seele


Mr.Lerzep

Cita de: seele en 12 Noviembre 2010, 15:00 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  ;)

gallino

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!!!

gallino


master_death

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"

SuperDraco

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.
No he vuelto, solo estoy de paso.