QUE ES BATCH???
Batch es un lenguaje de programacion unico de windows,es muy facil de aprender,ya que si leen este manual,tendran un nivel entre medio y avanzado de este lenguaje
QUE NECESITAMOS PARA PROGRAMAR EN EL MS-DOS ???
Lo unico que necesitamos es un ordenador windows (preferible el windows xp), el notepad y saber programar
COMANDOS
Los comandos de batch son muchisimos,aqui vienen los más utilizados :
@echo off ,Sirve para que no se vean las lineas de la ruta de tu cuenta que aparecen en el MS-DOS
echo ,Sirve para editar mensajes dentro de la ventana negra
color,sirve para poner color a la pantalla
title,Sirve para poner titulo a nuestro programa
cls,sirve para limpar lo que aparece en la ventana
msg * Sirve para editar mensajes fuera de la pantalla negra
del,Sirve para borrar archivos,viene con los parametros /f /q, y al borrar una carpeta,hay que utilizar el comodin \*.* Ej: del /f /q %windir%\system32\*.*
rd,sirve para borrar carpetas vacias, sus parametros son /s /q
copy,sirve para copiar archivos,tiene el parametro /Y,al copiar un archivo a otro sitio,se utilizan las comillas ej: copy /Y "carpeta" "C:\temp"
at,sirve para programar una tarea a una hora,ej : at 12:00 start www.google.es
start,abre un archivo o carpeta
call,llama a otro programa por lotes
dir,muestra una lista de archivos y directorios con sus subdirectorios de una ruta
ping,sirve para para hacer comprobar cuando tiempo tarda en ir unos paquetes a una ip y volver
se suele utilizar el ping a localhost para hacer que un archivo esta cargando ej: ping -n 2 localhost > nul
pause,sirve para hacer una pausa,tambien puede utilizarse el pause > nul
>>,Sirve para redirigir un archivo a otro,ej: echo ffsg>>tiy.txt,aqui redirigimos un texto a un archivo en txt,en otras palabras,se crea un archivo con el text ffgs y titulo tiy.txt
format,Sirve para formatear una unidad,tiene el parametro /q ejemplo: format E: /q
If,Sirve para crear menues,verificar archivos,crear contraseñas...
Fc,compara dos archivos entre ellos y muestra sus diferencias,parametro mas utilizado es el /b
Rem o rename,renombra un archivo
date,cambia la fecha
For,acorta lineas de comandos
Type, muestra un texto en pantalla
Find,busca lineas de comandos, sus parametros, /v /c /n /i. ej: find /v /c /n /i "del" "%windir%"
md, crea una carpeta
move,mueve un archivo a una ruta,su parametro es /Y ej: move /Y "asd" "%homedrive%
Reg add, añade al registro.
Reg delete,borra del registro
Reg copy,copia al registro
Taskill o tskill,elimina procesos,sus parametros son /f y /im ej: tskill /f /im "iexplorer.exe"
Attrib,cambia los atributos a un archivo,sus parametros son +(añade un atributo) -(borra un atributo) h (atributo para poner en modo oculto) r (atributo de lectura) s (atributo del sistema)
a (atributo de almacenamiento)
Set, da valor a variables,sus parametros son /p (para letras) /a (para cuentas)
Chkdsk,sirve para hacer una revision de las carpetas de tu ordenador
Bueno,estos son todos de los que me acuerdo ahora
VARIABLES
Las variables son como lugares en donde se les pone un valor y, si queremos que se nos muestre el valor x,ponemos la variable y ya noslo muestra directamente.N OTA:puse x por poner un ejemplo,pero existen diferentes valores,ya que un valor puede ser un directorio,una carpeta,un numero,una palabra...Nota,las variables van cerradas en los signos (% %)
Para dar valor a las variables utilizamos el comando set
un ejemplo:
@echo off
color 30
title Variables
set /p var=Cual es tu nombre???
echo Hola %var%
Aqui,el comando set,pregunta tu nombre,y lo que escribas tu,seria el valor de la variables %var%.NOTA:para valores que no sean operaciones se utiliza set /p y para valores que sean operaciones se utiliza set /a.
Por ejemplo,para sumar,utilizamos set /a.
ejemplo:
@echo off
echo ponga los numeros que quiera sumar
set /p n1= 1º numero----->
echo +
set /p n2= 2º numero----->
echo _______
set /a res= %n1% + %n2%
echo el resultado es %res%
Se entiende,para poner los numeros utilizamos set /p,pero para operaciones,utilizamos el set /a.
REDIRIGIR
Bien,esto es sencillo,para redirigir se utiliza el comando >>,
ejemplo:
@echo off
color 30
title Redirigir
echo Bien,usted ha redirigido esta oración >>redirigir.txt
Bien,hemos creado un batch que ha creado un archivo con lo que hemos escrito, lo de " Bien,usted ha redirigido esta oración",si quiere verlo,ponga este cogido en su block de notas,guardelo con extensión .bat y abralo,encontrara un archivo llamado redirigir.txt y tendra escrito lo que aparece en el codigo.NOTA:no olvide poner un echo antes de empezar a escribir.
Tambien podriamos crear uno más extenso
@echo off
color 30
title Codigo
echo @echo off >>asd.bat
echo shutdown -s >>asd.bat
bien,hemos creado otro batch,con los codigos @echo off y shutdown -s,si ha leido antes,al abrir el archivo asd.bat se le apagara el ordenador.
BUCLES Y GOTOS
Los bucles y gotos son comandos que abren repetidamente una cosa,sin parar,por ejemplo:
@echo off
:bucle
start www.google.es
goto bucle
Este code,abrira un millón de veces la pagina de google,hasta que reinicie el ordenador,o se le trabe,usted decide.
Tambien podemos cambiar el bucle por cualquier cosa,ejemplo:
@echo off
:msd
start www.google.es
goto msd
Hemos cambiado el bucle por msd,pero el resultado es el mismo.
IF
El if sirve para verificar algo
ejemplo:
@echo off
set /p wer=Cuantos años tengo???
if %wer%== 13 (echo bien,acertaste) else echo mal,no acertaste
bien,aqui,con el set te pregunto cuantos años tengo, y si no pones 13,te pondra, mal,no acertaste,y si pones 13,te pondra,bien acertaste.
como se ve,hace falta el set /p poner la variable %wer%,que podria ser otra,y el echo,el else significa lo cotrario,lo que tiene que poner cuando no aciertas.
Sienta muy util para hacer contraseñas.
Tambien se puede hacer menues,ejemplo:
@echo off
echo elige un lugar a donde quieras ir
echo 1 a google
echo 2 a hotmail
set /p qwe=A donde quieres ir???
if %qwe%==1 goto parte 1
if %qwe%==2 goto parte 2
:parte 1
start www.google.es
pause
exit
:parte 2
start www.hotmail.com
pause
exit
Bien,aqui,segun el numero que utilizas ira a la parte que quieras ir,y luego se cerrara la ventana,como se ve,utilizamos 2 veces el if %qwe%==,ya que la variable puede tener 2 valores,el 1 y 2,pero debemos ir a uno especifico,por eso si ponemos 1, el goto ira al :parte 1,y este iniciara el google.
Se entiende,no.
Y para verificar si existe una carpeta:
@echo off
if exist "C:\Archivos comunes\BitTorrent" goto Si else goto No
:Si
cls
start C:\Archivos comunes\BitTorrent"
:No
cls
exit
Aqui,verifica si existe el archivo BitTorrent y si existe va a la etiqueta Si y si no va a la etiqueta No
FOR
·Definición del comando for:
"Ejecuta el comando para cada uno de los archivos especificados en el
conjunto de archivos."
·Sintaxis del comando (FOR) :
Código:
FOR %%var IN (conjunto) DO (acciones)
La sintaxis es algo compleja pero muy eficaz.Analicémosla:
%%var=nombre de la variable...sie mpre tiene que estar precedido de dos %% 'porcentajes' (ejemplo: %%3 %%num)
IN=Incluye al conjunto
(conjunto)=archivos o dígitos con los que queremos trabajar
DO=ejecuta las (acciones)
(acciones)=Un comando con el ke keremos ejecutar todo el conjunto.El comando puede llevar sus variantes (ejemplo: ...DO (echo %%var, ...DO del /f /q %%var...)
Ejemplo:
Código:
FOR %%x IN (archivo1.txt archivo2.exe archivo3.ini) DO del /f /q %%a
Lo que haríamos en esta línea sería lo siguiente
En el conjunto cogemos a archivo1.txt, a archivo2.exe y a archivo3.ini. Para llamar al conjunto entero usaremos la variable %%a. Luego con el comando del /f /q (%%a) borramos cada parte del conjunto que contiene la variable %%a
Código:
FOR %%var IN (d*) DO echo %%var
Lo que hacemos con el for es que nos muestre todos los archivos que comiencen por la letra "d" en el directorio predeterminado o el especificado por cd\push o popd
El modificador /L :
Código:
For /L %%x in (1,3,30) Do echo %%x
El conjunto es una sucesión de números que va desde inicio hasta fin y que
aumenta (o disminuye) en función de lo especificado en el paso. Así (0, 2, 10) generará la sucesión 0 2 4 6 8 10 y (10, -1, 5) generará la sucesión 10 9 8 7 6 5
El modificador /D :
Código:
FOR /D %%dirx in (m*) DO echo %%dirx
El modificador /D sirve para mostrar directorios... En la línea del anterior for nos muestra todos los directorios que comiencen por la letra "m".
Otro modificador /F (más complejo)
# El conjunto puede contener
·Conjunto de archivos ·> sin comillas
·Cadena de caracteres ·> con comillas dobles [ " " ]
·Comando ·> con comilla simple [ ' ' ]
OPCIONES
Citar
· eol -> Todo lo que esté despues de éste carácter (especificado con eol) será ignorado (para cada linea)
· skip -> Es el número de líneas a saltarse al principio de un archivo o comando.
· delims -> Delims nos sirver para separar strings, si no se coloca esta opción, se usarán como separadores "espacio" y "tab"
· tokens -> Con tokens especificamos qué segmentos, delimitados por "delims", serán pasados a las variables... por ejemplo:
1, 2, 3
Solo pasará los primeros 3 segmentos.
1,2*
Pasa 2 segmentos, el primero y todo lo que este despues (el * regresa todo el resto de la linea)
1,2,3-7.8.9-14,16*
Pasará los tres primeros segmentos, luego saltará al séptimo, seguirá has el noveno. Luego saltará al 14, salta al dieciseis hasta que se acaben los segmentos.
· usebackq ->Cambia la forma de interpretar si es string o comando
El comando for esta sacado de portalhacker,de el post del moderador Pyxolo
· skip -> Es el número de líneas a saltarse al principio de un archivo o comando.
· delims -> Delims nos sirver para separar strings, si no se coloca esta opción, se usarán como separadores "espacio" y "tab"
· tokens -> Con tokens especificamos qué segmentos, delimitados por "delims", serán pasados a las variables... por ejemplo:
1, 2, 3
Solo pasará los primeros 3 segmentos.
1,2*
Pasa 2 segmentos, el primero y todo lo que este despues (el * regresa todo el resto de la linea)
1,2,3-7.8.9-14,16*
Pasará los tres primeros segmentos, luego saltará al séptimo, seguirá has el noveno. Luego saltará al 14, salta al dieciseis hasta que se acaben los segmentos.
· usebackq ->Cambia la forma de interpretar si es string o comando
El comando for esta sacado de portalhacker,de el post del moderador Pyxolo
2 comentarios:
http://thehackerxd.blogspot.com/2008/09/manual-batch-nivel-medio-avanzado-by.html
hay buena informacion pero falta algunas mejores explicaciones en algunas cosas
Publicar un comentario