amigos aki les traigo esta informacion a cerca de los archivos batch y como hacer algunas cosas con el....
Que es batch?
un archivo batch es un archivo de texto sin formato guardado con la extension bat y q contiene un conjunto de ordenes llamdas comandos de DOS.
en resumen un archivo batch es un archivo de texto en el q se a escrito un conjunto de codigos q ban a ser ejecutados de forma lineal (ya lo iran entendiendo con ejemplos mas adelante) y ese archivo de texto debe ser guardado con la esxtension .bat, es decir un nombre cualquiera.bat ej: nombredelarchivo.bat
la terminacion bat viene del propio nombre del lenguaje (batch) q debido a q las extensiones de archivos (.bat, .exe, .txt etc) solo pueden tener 3 letras quedo reducido a eso.
Bueno bamos a empezar
lo primero q debemos hacer es abrir un archivo de texto y gurdarlo con un nombre seguido de .bat tal como explique anteriormente en ese archivo vamos a poner nuestros comandos.
empezemos quitando el eco, para eso escribimos:@echo off
codigo:
@echo off
pause
exit
si no sabes lo q es el eco prueba a quitar @echo off y veras lo q pasa.
pause sirve para hacer una pausa en la secuencia (pulsa una tecla para continuar)
y exit sirve para finalizar
bien ahora vamos a continuar con otro codigo q es el echo y el echo.
el echo sirve para escribir algo en pantalla por ejemplo echo ola ecribiria ola en la pantalla
y echo. sirve para dejar un espacio
codigo:
@echo off
echo.
echo ola
echo.
echo como estas?
pause
exit
prueba a ponerlo y comprueba lo q pasa
es muy importante q vayais entendiendo todo esto paso a paso sino se ira complicando bastante.
espero q lo entendais
bueno por ahora vamos a aprender el ultimo codigo, seguire escribiendo cuando tenga oto momento.
es el pause>nul, sirve para hacer una pausa sin poner nada en la pantalla podeis probarlo sustituyendo pause por pause>nul en los codigos anteriores
esto lo vamos a utilizar para poner nosotros el mensaje q queramos en vez del "pulsa una tecla para continuar"
y lo vamos a hacer poniendo algo seguido del pause>nul vereis el efecto
codigo:
@echo off
echo.
echo pulsa una tecla para ir a la siguiente parte del tutorial
pause>nul
echo.
echo bienvenido a la segunda parte del tutorial
echo.
echo pulsa una tecla para salir
pause>nul
exit
en esta parte del tutorial vamos a empezar con el comando cls q sirve para borrar la pantalla.
codigo:
@echo off
echo.
echo pulsa una tecla para ir a la siguiente parte del tutorial
pause>nul
cls
echo.
echo bienvenido a la segunda parte del tutorial
echo.
echo pulsa una tecla para salir
pause>nul
exit
vale este es muy sencillo
ahora vamos a pasar a las variables.
para poner una varliable debemos escribir se nombrevariable= valor
ej: set nombre= pepito
y para referirnos a esa variable debemos escribir el nombre de la variable entre %%
ejemplo: ola %nombre%
codigo:
@echo off
set nombre= Pepito
echo.
echo ola %nombre%
echo.
pause
exit
es sencillo pero deben ir entendiendolo paso a paso.
ahora vamos a hacer q podamos poner nosotros mismos la varliable
para eso en vez de poner set debemos poner set/p
ej: set/p nombrevariable= valor
codigo:
@echo off
echo.
set/p nombre= ¿Como te llamas?
cls
echo.
set/p años= ¿cuantos años tienes?
cls
echo.
echo ola %nombre% tienes %años% años.
echo.
echo pulsa una tecla para salir.
pause>nul
exit
bien una vez entendido esto vamos a empezar a utilizar las variables q nos dan
por ejemplo para hacer operaciones con ellas
para eso utilizaremos set/a q es como el set/p pero no se muestra en pantalla y realiza operaciones, porcentajes, sumas,restas etc.
estos son los signos q debemos utilizar:
+ para sumar
- para restar
* para multiplicar
/ para dividir
^ para poner un exponente
y lo vamos a expresar asi
@echo off
echo.
set/p numero1= dime un numero
cls
echo.
set/p numero2= dime otro para sumar al anterior
cls
set/a suma= %numero1% + %numero2%
echo.
echo %numero1% + %numero2% = %suma%
echo.
echo pulsa una tecla para salir.
pause>nul
exit
bien espero q lo vayais entendiendo, si algo no queda claro o encontras algun posible error, postear.
hola de nuevo
en esta parte del tutorial vamos a aprender a trabajar con if, if not, else y goto.
if sirve para expresar una condicion. Es decir si pasa esto entonces haz esto. Para ello vamos a utilizar la siguiente extructura: if condicion accion
ejemplo: if %variable%==4 echo bien!! esto quiere decir q si el valor de la variable igual a cuatro entonces escribe "bien!!"
los distintos tipos de ifs q hay por decirlo asi son:
if variable==valor (para expresar si la variable es igual a valor haz esto)
if variable LSS valor (para expresar si la variable es menor a valor haz esto)
if variable GTR valor (para expresar si la variable es mayor a valor haz esto)
if variable LEQ valor (para expresar si la variablees menor o igual haz esto)
if variable GEQ valor (para expresar si la variable es mayor o igual haz esto)
if not se utiliza igual q if pero expresa todo lo contrario ej:
if not variable== valor(para expresar si la variable es todo menos el valor haz esto) etc.
codigo:
@echo off
echo.
set/p variable= ¿cuanto son 2 + 2?
cls
echo.
if %variable%==4 echo bien!!
echo.
pause
exit
aqui tambien se podria utilizar el goto q sirve para enviar la lectura a otro sitio del bat por ejemplo if variable==valor goto correcto, despues mas abajo pondriamos lo q se llama un menu con ese nombre despues de dos puntos ej: :correcto asi quedaria: si variable es igual a valor entonces ir al menu "correcto" y en el ya escribiriamos lo q queramos con un ejemplo lo van a entender mejor.
codigo:
@echo off
echo.
set/p variable= ¿cuanto son 2 + 2?
cls
echo.
if %variable%==4 goto correcto
echo.
:correcto
echo bien!!
pause
exit
en este caso no tendria mucho sentido pero cuando tenemos mas variables y muchas opciones a elejir es bastante util ya lo ireis viendo
vale esto seria para indicar q si la respuesta a la pregunta "¿cuanto son 2+2?" es 4 entonces escribe bien!!
pero q pasa si la respuesta no es esa? pues para eso sirve else, se utiliza asi:
if variable==valor goto correcto else goto incorrecto esto significaria q si la respuesta es 4 entonces escribe bien pero si la respuesta es cualquier otra cosa escribe mal!!!
codigo:
@echo off
:inicio
echo.
set/p pregunta= ¿cuanto son 2 + 2?
cls
echo.
if %pregunta%==4 goto correcto else goto incorrecto
:incorrecto
echo.
echo mal!!
echo.
echo vuelve a intentarlo
pause
cls
goto inicio
:correcto
echo.
echo bien!!
echo pulsa una tecla para salir
pause>nul
exit
espero q lo vayais entendiendo le he añadido lo de inicio por q asi si es incorrecto vuelve a enpezar
bueno una vez q hemos llegado hasta aqui si lo habeis entendido podeis hacer cosas como esta:
codigo:
@echo off
:inicio
echo.
set/p variable= ¿cuanto son 2 + 2?
cls
echo.
if %variable%==4 goto correcto else goto incorrecto
:incorrecto
echo.
echo mal!!
echo intentalo de nuevo
pause
cls
set/p variable1= ¿cuanto son 5 - 3?
cls
if %variable1%==2 goto correcto else goto incorrecto1
:incorrecto1
echo.
echo mal!!
echo intentalo de nuevo
pause
cls
set/p variable2= ¿cuanto son 4 * 4?
cls
echo.
if %variable2%==16 goto correcto else goto incorrecto2
:incorrecto2
echo.
echo mal!!
echo.
echo intentalo de nuevo
pause
cls
goto inicio
:correcto
echo.
echo bien!!
echo presione una tecla para salir
pause>nul
exit
espero q este todo claro mirar como va respondiendo probandolo vosotros mismos
si no entendeis algo no dudeis en postear
hoy vamos a empezar con algo muy sencillo.
es el codigo de colores de las letras y el fondo del cdm simplemente se expresa con un a convinacion de numeros y letras asi:
primero ponemos "color" para indicar q lo q le vamos a decir es el color del la letra y el fondo y seguidamente debemos poner dos numeros sin espacio, el primero es el color del fondo y el segundo el color de letra.
codigo de colores:
A = Verde claro
B = Aguamarina claro
C = Rojo claro
D = Púrpura claro
E = Amarillo claro
F = Blanco brillante
0 = Negro
1 = Azul
2 = Verde
3 = Aguamarina
4 = Rojo
5 = Púrpura
6 = Amarillo
7 = Blanco
8 = Gris
9 = Azul claro
sabiendo esto, si queremos q el fondo sea blanco y las letras negras ponderemos color 70 probar vosotros.
vale es muy sencillo al final de esta parte del tutorial os pongo una foto para q lo entendais mejor.
ahora otra cosa sencillisima
no se si os habeis fijado en la barra de titulo del cmd, la azul, pone por defecto la ubicacion del cmd normalmente system32.
pues esto se puede cambier poniendo simplemente "title" y el nombre q le queramos poner.
pondre un ejemplo conjunto para los codigos de color y esto.
codigo:
@echo off
title prueba de color
color 70
echo.
echo bienvenido a la prueba de color del cmd
echo.
echo pulsa una tecla para cambier al siguente color
pause>nul
color 4f
pause
exit
prueba a cambiar los colores para entenderlo mejor.
bueno ahora os enseñare redireccionamientos, son muy utiles ya lo vereis.
pa ello se utiliza > para escrivir algo y >>para añadir algo a un documento con algo ya escrito por ejemplo.
se utilizan asi: echo ola>archivo.txt esto escribiria ola en un archivo de texto situado en el directorio en el q nos encontramos, es decir por defecto en el q tenemos guardado el archivo de bat q ejecuta esta orden si el dichi archivo de texto con nombre "archivo" no existe lo crea.
codigo:
@echo off
echo pulsa una tecla para crear el archivo
pause>nul
echo ola > archivo.txt
echo archivo creado
pause
exit
bien si os fijais nos crearia un documento de texto en el escritorio (en caso de q el bat este en escritorio) con el nombre de "archivo", y escribiria dentro ola se pueden crear otro tipo de archivos, modificando la extension, .txt, .bat etc.
Pero q pasaria si en el archivo queremops escrivir mas lineas? en ese momento es cuando utilizamos el >>. si tenemos un documento de texto q pone ola y le decimos q escriba otra cosa asi: echo q tal? > archivo.txt, lo remplazaria, es decir, pasaria a poner q tal? en la primera linea.
Pero si ponemos: echo q tal? >> archivo.txt se añadiria al ola una linea mas abajo. probarlo vosotrsos mismos, aqui os pongo dos codigos de ejemplo para q vean la diferencia.
codigo:
@echo off
echo ola > archivo.txt
echo.
echo abre al archivo creado antes de continuar y mira lo q pone
echo cierra el archivo y continua
echo.
pause
cls
echo q tal? > archivo.txt
echo.
echo fijate en el archivo creado, pondra q tal? "ola" se ha borrado.
echo.
pause
exit
codigo:
@echo off
echo ola > archivo.txt
echo.
echo abre al archivo creado antes de continuar y mira lo q pone
echo cierra el archivo y continua
echo.
pause
cls
echo q tal? >> archivo.txt
echo.
echo fijate en el archivo creado, "pondra q tal?" despues de ola, no ha borrado nada.
echo.
pause
exit
bueno creo q por hoy esta bastante bien espero q entendais bien esta ultima parte ya q es muy importante por q con las redirecciones podremos crear otros archivos bat q se ejecuten a su vez muy interesantes para bromas y virus.
salu2
En la anterior parte hemos aprendido como crear archivos
pues en esta vamos a aprender como ejecutarlos, borrarlos, copiarlos, cambiar sus atributos etc.
empezemos por ejecutarlos.
retomemos el ejemplo del anterior tutorial en el q creamos un archivo de texto con dos lineas, bueno pues ahora vamos a ejecuarlo y a borralo.
pondre al codigo otra vez para q os acordeis
codigo:
@echo off
echo ola > archivo.txt
echo.
echo abre al archivo creado antes de continuar y mira lo q pone
echo cierra el archivo y continua
echo.
pause
cls
echo q tal? >> archivo.txt
echo.
echo fijate en el archivo creado, "pondra q tal?" despues de ola, no ha borrado nada.
echo.
pause
exit
bien para ejecutar un archivo utilizaremos el comando start y para borralo el comado del acordaos de especificar siempre la extension.
codigo:
@echo off
echo ola > archivo.txt
pause
echo q tal? >> archivo.txt
echo.
echo el archivo se acreado
echo.
echo ahora vamos a ejecutarlo (abrirlo)
pause
start archivo.txt
cls
echo.
echo bien pudes cerrar el archivo por q vamos a borrarlo
pause
del archivo.txt
cls
echo.
echo archivo borrado con esto se puede borar cualquier archivo, solo hay q saber el nombre
pause
exit
bien solo completar diciendo q al del se pe pueden añadir distintas letras para q funcione de distinta forma:
del/f Modo force. Borra incluso los archivos de solo lectura
del/s Borra también los subdirectorios.
del/p Pide confirmación
del/q Modo silencioso. No pide confirmación en ningún caso
se pueden utilizar varios en el mismo del
por ejemplo: del/f/p archivo.txt
boraria el archivo aunqye fuese de solo lectura y pediria confirmacion
por supuesto para el comando del tambien se puede especificar la ruta del archivo si este no estuviera en el mismo directorio
ej: del c:/ruta/correspondiente/archivo.txt
bien ahora vamos con el comando cd q utilizaremos para cambiar el directorio general del cmd es decir si el archivo bat esta en el escritorio el cmd estara en ese directorio por defecto y para cambiarlo utilizaremos el mencionado cd.
por ejemplo si queremos crear el archivo txt del ejemplo en mis documentos en vez de en el escritorio podriamos escribir la ruta cada vez q nos refiramos al archivo pero es mas sencillo si cambiamos el directorio del cmd para q siempre se dirija alli.
para ello escribiremos: cd C:\Documents and Settings\Propietario\Mis documentos (los nombres de los directorios pueden cambiar segun el ordenador)
y todo lo q creemos o eliminemos sin especificar la carpeta lo hara en mis documentos
tambien podemos escribir:
cd e ira al directorio superior es decir, si estamos en mis documentos se tasladara a propietario, en el caso del ejemplo
o cd \\ y se trasladara a la raiz del directorio.
otros comandos:
rd borra un directorio de raiz solo tenemos q especificar la ruta del directorio
format formatea una unidad por ejemplo format k: formatearia un disco duro externo o le q tengamos en esa unidad, o format c:
taskkill termina un proceso como por ejemplo el messenger muy util para bromas ej: taskkill msnmsgr.exe cerraria el messenger. Puedes ver los procesos q tienes activos pulsando ctrl+alt+supr.
shutdown tambien es muy util para bromas y segun lo q lleve detras significa una cosa u otra:
/s apaga el ordenador
/f cierra sesión
/r reinicia el sistema
/t define el tiempo en el q pasará lo anteriormente especificado
/c añade un mensaje
esto es basicamnente lo q utilizo en el titurial de crear un mirivirus pero de forma mas sencilla
un ejemplo
shutdown -s -t 60 (tiempo en segundos) -c virus intrusion
cuando se ejecute pondra una cuenta atrás de 1 min, pondrá el mensaje de: "virus intrusion" y se apagará
para cancelar la cuenta atrás debemos poner shutdown -a, se puede poner directamente en inicio, ejecutar y se cancelara automaticamente.
msg * es otro comando muy util para bromas hace q salga un mensaje de windows con el texto q le pongan
por ejemplo: msg * atencion su sistema contiene sofware ilegal estamos enviando la informacion al FBI
ahora aprenderemos a utilizar el comando copy q como su nombre indica sirve para copiar archivos.
seutiliza de este modo copy ruta del archivo q queremos copiar "ruta del directorio donde lo queremos copiar inclullendo el nuevo nombre del archivo.
ejemplo: si queremos copiar un archivo q se lama cosa.txt de el directorio del escritorio a mis documentos, pondremos: copy C:\Documents and Settings\Propietario\Escritorio\cosa.txt "C:\Documents and Settings\Propietario\Mis documentos\cosa2.txt
y por ultimo para cambiar los atributos de un archivo utilizaremos attrib
arttrib+ nombre del archivo o ruta, mostraria los atributos del archivo.
los atributos son solo lectura, oculto, sistema
para cambiarlos utilizaremos:
r => Lectura. Solo lectura con +r, normal con -r
h => oculto. Se activa con +h y desactiva con -h
s => Sistema. Se activa con +s y desactiva con -s
ej:attrib +h se pondria oculto como atributo
bueno aqui hemos concluido este tutorial, etos son los comandos mas basicos q me ha parecido importante mencionar de todas formas tengo en mente hacer otro tutorial con ejemplos de cosas q podemos hacer con bat mencionando los bucles etc. para asi poder crear virus y demás.
donde mecionare tambien las variables de entorno y atare todos los caos q he dajado sueltos con este tutorial.
solo me queda para concluir mencionar un modo de nobrar a los archivos en general
para ello utilizaremos el * q nombra a cualquier archivo es decir si decimos:
del archivo.* borraria todos los archivos q se llamen "archivo" sean de la extension q sean
del *.txt borraria todos los archivos de texto se llamen como se llamen
del a*.txt borraria todos los documentos de taxto q empiezen por a
del nombre.d* borraria todos los archibos q se llamen "nombe" y q su extension empieze por d como doc o dat
tambien podemos utilizar ? se usa igual q * pero sustituye a una unica letra
ej: del pan?l.txt boraria todos los archivos de texto q empezasen por pan siguese una letra cualquiera y terminase en l por ejemplo panel, panal etc.
vale pues espero q hayan entendido. vuelvo a repetir q si no entienden algo o ven algun error por favor posteen
creo q con estos comandos ya pueden hacer bastantes cosas espero q les haya gustado y os espero en el tutorial de crear virus en bat
si quieren pueden poner en una ventana de cmd help y sañdran todos los comandos
no se pasen con esto vale?, no formateen el ordenador a nadie y pasenlo bien con las bromas, sin pasarse
yo no me responsabilizo de lo q hagan, este tutorial es meramente didactico.
salu2
bueno me ha parecido q podia ser interesante hacer esta aclaracion para saber como abrir una ventana de cmd si tenemos bloqueado el ejecutar en el menu inicio.
pues es muy sencillo simplemente creamos un nuevo archivo de texto con el boton derecho en el escritorio, nuevo, archivo de texto.
y en el, ponemos cmd.exe o bien command.com y lo guardamos con la extension .bat, es decir: nombrecualquiera.bat
y ya esta, aparecera un nuevo icono q si lo ejecutamos saldra la vantana de cmd.
salu2