Está en la página 1de 10

Programacin Batch con archivos .

bat

http://www.cristalab.com/tutoriales/programacion-batch-con-archivos-....

Olvidaste tu usuario o clave?

o registrate

Foros Blog Tutoriales Cursos Videotutoriales Comic

Publica un tutorial

Qu es Cristalab?

T ags

Ejemplos

Contctanos

Anime

Tutoriales / Programacin Batch con archivos .bat

Programacin Batch con archivos .bat


Por JaLeRu el 12 de Noviembre de 2007 con 659,276 visitas Tecnologia y otros Otros tutoriales por JaLeRu.
Like Twittear

165

19

En este tip hablaremos sobre cmo manejar algunas funciones de Windows mediante archivos Batch. Batch, segn Wikipedia es:

Es un archivo de procesamiento por lotes: se trata de archivos de texto sin formato, guardados con la extensin *.bat que contienen un conjunto de comandos DOS. Cuando se ejecuta este archivo bat, los comandos contenidos son ejecutados en grupo, de forma secuencial, permitiendo automatizar diversas tareas. Cualquier comando DOS puede ser utilizado en un archivo batch.

Hay que aclarar Batch que no es un Lenguaje de Programacin. Es un archivo de cdigo que contiene comandos del, Shell de Windows, llamado MS-DOS, que pueden ejecutar desde Inicio->Ejecutar->CMD. Hay dos maneras de ejecutar comandos Batch. Desde el Shell de Windows. Escribindolos en un archivo de texto con extensin .bat y luego ejecutarlo.

Hola Mundo en Batch


Comenzaremos creando un Simple y clsico "Hola Mundo", escribiendo en un archivo de texto el siguiente cdigo.
Cdigo :

@echo off echo Hola Mundo pause exit

Ahora guardemos el archivo como Nombre.bat y lo ejecutamos. Nos aparecer una pantalla negra que dir "Hola Mundo", luego una linea abajo dir "Presione una tecla para continuar" Explicamos:

echo:

Imprime un texto en pantalla, que es el texto que viene despus (el que le pasamos como parmetro), que en este caso es "Hola Mundo". Echo significa eco, por lo mismo "@echo off" elimina el eco, la repeticin de la ruta en la que nos encontramos en cada lnea cdigo.

pause:

Como bien se lee, pausa la ejecucin del cdigo. Adems muestra el texto "Presione una tecla para continuar"

exit:

Cierra la ventana de comandos. Para dejar ms en claro cual sera la diferencia de no ocupar la linea @echo off la imagen de a continuacin muestra como se vera la pantalla sin esta

1 de 10

26/09/2013 19:12

Programacin Batch con archivos .bat

http://www.cristalab.com/tutoriales/programacion-batch-con-archivos-....

linea.

Ahora aprenderemos algunas funciones de Batch:

CD o CHDIR:

Si has trabajado en PHP, te sera fcil entender este concepto. Sirve para cambiar de Directorio o Mostrar el nombre del actual. Para usarlo, CD o CHDIR seguido de la ubicacin del directorio al cual nos moveremos. cd "C:\" chdir "C:\" Los ejemplos anteriores hacen exactamente lo mismo, cambian al Disco C

COPY:

Sirve para copiar uno o ms archivos a otro destino. Su sintaxis es la siguiente: Copy "Direccin del archivo" "Nueva direccin" Ejemplo:
Cdigo :

Copy "C:\archivo.txt" "C:\archivo2.txt"

Aqu copiaramos un archivo del Disco C llamado "archivo.txt" como "archivo2.txt" Para acortar un poco podramos usar:
Cdigo :

cd "C:\" Copy "archivo.txt" "archivo2.txt"

Donde primero cambiamos de directorio al Disco C con cd "C:\" y luego al copiar no tenemos que especificar que esta en el Disco C ya que ya nos encontramos en el.

DEL:

Sirve para eliminar uno o ms archivos. Su sintaxis es: Del "ARCHIVO" Tambin se puede aadir: del /f /q "archivo" Donde no pide confirmacin de eliminacin (/q) y fuerza al archivo a borrarse ( /f )

Move:

Sirve para mover un archivo. Su sintaxis es: Move "Direccin Archivo" "Nueva Direccin"

Cls:

Sirve para limpiar el contenido de la pantalla:

2 de 10

26/09/2013 19:12

Programacin Batch con archivos .bat

http://www.cristalab.com/tutoriales/programacion-batch-con-archivos-....

Ejemplo:
Cdigo :

@echo off echo Hola, Cuando pulses la tecla se borrara el contenido y cambiara por otro. pause cls echo Ves? pause exit

Si quisiramos averiguar ms sobre las funciones, o conocer algunas nuevas por nuestra propia cuenta podemos escribir en el Shell el nombre del comando seguido de /? y aparecer toda la informacin necesaria. Podemos poner en prctica esto de la siguiente manera: Abramos el Shell de windows:
Inicio->Ejecutar-CMD

Una vez abierto escribamos:


Cdigo :

echo off

Para eliminar el eco. Luego para borrar el contenido de pantalla escribe:


Cdigo :

cls

Ahora veamos la ayuda de la funcin Copy:


Cdigo :

copy /?

Cerremos la ventana:
Cdigo :

exit

Ahora vamos a crear un Batch que copie un archivo, luego lo mueva a otro directorio, borre el original y vuelva a copiar el copiado. En la carpeta donde crears el archivo .bat crea un archivo de texto llamado copiame.txt. En l, escribe lo que quieras. Este ser el archivo que copiaremos. Ahora el Batch:

Cdigo :

@echo off echo Hola, Copiaremos un archivo pause copy "copiame.txt" "copiado.txt" move "copiado.txt" "C:\copiado.txt" del "copiame.txt" cd "C:\" copy "copiado.txt" "copiado2.txt" exit

Gurdalo en la carpeta como NombreQueTuQuieras.bat, y ejectalo. Lo que ha hecho la cadena de instrucciones es ms o menos lo siguiente: Primero apagamos el eco, luego imprimimos en pantalla "Hola, Copiaremos un archivo" Pausamos el intrprete para que no siga de largo. A continuacin, copiamos el archivo "Copiame.txt" y su copia se llamar "copiado.txt". La movemos a la carpeta raz del disco C, y eliminamos el original.

3 de 10

26/09/2013 19:12

Programacin Batch con archivos .bat

http://www.cristalab.com/tutoriales/programacion-batch-con-archivos-....

Por ultimo cambiamos de directorio al disco C, copiamos la copia y cerramos el Batch. Despus de que ejecutemos el Batch, si vamos al Disco C, veremos que hay dos nuevos archivos de texto: uno llamado copiado.txt y otro copiado2.txt. Tambin si vamos a la carpeta del Batch, veremos no est el archivo de texto original, "copiame.txt".

Creacin de nuevos archivos:


Con Batch podemos crear otros archivos. Para ello, tenemos que escribir algo como esto:
Cdigo :

echo TEXTO DE PRIMERA LINEA > nombre.extensin echo TEXTO SEGUNDA LINEA >> nombre.extensin echo TEXTO SIGUIENTE LINEA >> nombre.extensin

Al escribir echo seguido de un texto y el signo > creamos un archivo con el nombre que siga. Si ocupamos un echo seguido de un texto y el doble signo > (>>) se escribir en la siguiente linea vaca del archivo que prosiga. Hagamos la prueba:

Cdigo :

echo echo echo echo

Creando un Archivo de texto > nuevo.txt Esta es la Segunda linea >> nuevo.txt Y esta es la Siguiente >> nuevo.txt Esto esta genial >> nuevo.txt

Si ejecutamos eso, la pantalla negra se abrir y cerrar. Pero en la carpeta en la que est nuestro batch se abra creado un nuevo archivo "nuevo.txt" que si lo abrimos, dentro estar escrito lo que especificamos.

Personalizando el SHELL
Seguro que no te gusta mucho el aspecto del Shell. Aqu veremos como personalizarlo un poco.

COLOR:

Con la funcin color podemos cambiar los colores de fondo y las letras. Siendo su sintaxis: COLOR AB Donde A= El color de el Fondo y B= Color de las letras. Para ver todos los colores ve el MS-Dos y escribe color/?

TITLE:

Para cambiar el ttulo de la barra de tareas solo escribe: Title Loquequierascomotitulo

Pause Personalizado:

No te gusta que al poner pause salga "Presione una tecla para continuar..."? Pues si escribes "pause>nul" no aparecer ni un texto. Entonces si anteponemos un mensaje, quedara as.
Cdigo :

echo Aprieta cualquier tecla para seguir pause>nul

Adems puedes jugar con los caracteres. Aqu un ejemplo, donde cambi los colores y jugu con los caracteres y personalic el pause:

4 de 10

26/09/2013 19:12

Programacin Batch con archivos .bat

http://www.cristalab.com/tutoriales/programacion-batch-con-archivos-....

El cdigo que emple para esto fue:


Cdigo :

@echo off color 30 echo ================================== echo = = echo = Personalizado = echo = = echo ================================== echo. echo. echo Esto esta personalizado, para salir presiona una tecla. pause>nul exit

Cabe mencionar que echo. (Echo seguido de un punto)sirve para saltarse una lnea.

Matando Procesos:
Alguna vez has presionado CTRL+ALT+DELETE? Si lo haces se abre el Administrador de tarea. En la pestaa procesos salen algunos procesos que estn andando en tu pc, hacindoles clics y apretando "terminar proceso" lo puedes acabar. Con batch eso es muy fcil, se usa la funcin: Taskkill (No funciona en todos los pc, para ver si esta disponible escribe taskkill/?) Su sintaxis es:
Cdigo :

taskkill /f /im proceso.exe

/f Fuerza el trmino del proceso. Un ejemplo seria escribir.


Cdigo :

taskkill /f /im wmplayer.exe

Si lo ejecutas y tienes el Reproductor de Windows Media abierto, este se cerrar.

ABRIENDO PROCESOS:
Ahora abramos ese proceso que cerramos. Para abrir procesos se usa la funcin Start que funciona as:
Cdigo :

start proceso.exe

Tambin puedes abrir paginas web con tu explorador predeterminado.


Ejemplo1:

Cdigo :

start wmplayer.exe

5 de 10

26/09/2013 19:12

Programacin Batch con archivos .bat

http://www.cristalab.com/tutoriales/programacion-batch-con-archivos-....

Se abrir el Reproductor de Msica


Ejemplo2:

Cdigo :

start www.google.cl

Se abrir tu Explorador de Internet en Google.

VARIABLES:

Ahora aprendamos a declarar variables. Para crear una se escribe:


Cdigo :

set NOMBREVARIABLE = VALOR

Para llamarla debemos escribir su nombre entre los signos %% Ejemplo:


Cdigo :

@echo off set Nombre= Javier Letelier Ruiz echo %Nombre% pause

La pantalla nos mostrara algo as:

Para cambiar el valor solo debemos hacer esto:


Cdigo :

set Nombre= Nuevo Valor

Si quieres que tu Variable sea dinmica, osea que el Usuario la elija antepones /p:

Cdigo :

set /p Nombre=Escriba su Nombre:

Donde el Batch se pausara solo mostrando el Mensaje que va luego de "=" dejando que se escriba algo. Tambin podemos multiplicarlas, sumarlas, etc... con /a:
Cdigo :

set numero1=2 ser numero2=43 set /a suma= %numero1% + %numero2% echo %suma% pause exit

Si ejecutamos este, nos devolver la suma de 2 + 43, 45. Creo que con esto ser suficiente. Ojal hayan entendido y les haya interesado el batch, que principalmente se puede usar para facilitar algunas tareas de Windows, ya que como veremos en la segunda parte del tip se pueden lograr cosas bastante interesantes. Envia un comentario (176)

6 de 10

26/09/2013 19:12

Programacin Batch con archivos .bat

http://www.cristalab.com/tutoriales/programacion-batch-con-archivos-....

Programacin avanzada de archivos en lotes .bat

Crear base de datos con archivo .bat y .sql desde Java

Python en la web con Django (V): modelo de datos

Convert BAT to EXE


Scriptcode.com/BatToEXE

Convert your BAT Files into Actual Program (.EXE) in One Click.

Siguiente

Por M@U el 12 de Noviembre de 2007


Muy bueno JaLeRu, y con la propaganda que le hiciste seguro sera un Tutorial dentro de poco...

Pd: Si no me equivoco esto puede servir para armar "virus", cierto ?...

Por Carloz el 12 de Noviembre de 2007


M@U :

Muy bueno JaLeRu, y con la propaganda que le hiciste seguro sera un Tutorial dentro de poco...

Pd: Si no me equivoco esto puede servir para armar "virus", cierto ?...

Cierto. Muy bien JaLeRu, hace tiempo que dej de utilizar estos Scripts, son de gran utilidad aunque nada comparados con lo que puedes hacer en una terminal basada en Unix.

Por JaLeRu el 12 de Noviembre de 2007


Si se pueden hacer cosas medias macabras es cierto. Con un amigo que tiene un pc que no usa, creamos un batch que apagaba el pc cada vez que se prenda. Era muy jodido. Pero lo eliminamos fcilmente iniciando de modo seguro. Yo uso batch para cosas como: Programar tareas como Apagados, mensajes, etc. Tambin para hacer accesos directos a programas que no encuentro en mi pc. Ejemplo: Hace un tiempo se me borro la calculadora, entonces hice un simple batch que me la abre. Tambin una vez hice uno que cada inicio del pc Finalizaba tareas intiles. (Ya que siempre que yo iniciaba el pc se me abran programas que yo nunca usaba) Pero ya no lo es necesario por que con el TuneUp Utilities controlo esto.

Por h el 14 de Noviembre de 2007


Hola, Tengo una duda, he utilizado la opcin bat para descargar archivos pdf de una presentacin y he puesto @echo off y exit al final. Bien, no me aparecen las lneas de comando, pero se sigue viendo, aunque sea por dcimas de segundo la pantalla negra de comandos...Hay forma de ocultarla o que salga por debajo de la presentacin? Gracias

7 de 10

26/09/2013 19:12

Programacin Batch con archivos .bat

http://www.cristalab.com/tutoriales/programacion-batch-con-archivos-....

Por JaLeRu el 14 de Noviembre de 2007


El batch no trae como tal esa propiedad. Pero existen programas que mezclan Exe con Batch y traen esta opcin de ejecutarse escondidos.

Por CarlosRuminott el 14 de Noviembre de 2007


Me podrias explicar como haces para que arranque un exe cuando inicia la PC con el batch (si no es mucho pedir )

Por JaLeRu el 14 de Noviembre de 2007


Cdigo :

REG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run /v tubatch.bat /t REG_SZ /d C:\tubatch.bat

Ok ese cdigo que te di sirve para que un bat se ejecute cada vez que se inicia el pc. donde el primer "TuBatch.bat" es el nombre del batch Y donde dice: C:\tubatch.bat es la direccion del Batch Para iniciar un exe, el batch tendra que decir:
Cdigo :

start C:/direcciondelexe/miexe.exe

Por CarlosRuminott el 14 de Noviembre de 2007


Muchas gracias!! lo voy a probar

Por siddharta el 15 de Noviembre de 2007


muy muy util!!! felicitaciones julero.. digo jaleru espero que sigas con mas de estos aportes de calidad

Por carlosczg el 15 de Noviembre de 2007


x_X' archivos batch.. creo q esa clase es de hace 10aos, pero weno..para begginers..

Por diego el 15 de Noviembre de 2007


jaja..Mau dice para virus jajaja, ese compare esta en la calle.minimo C mas ASM para virus bro.

Por Victor-Nael el 15 de Noviembre de 2007


Muy buen tip

Por Bill el 15 de Noviembre de 2007

8 de 10

26/09/2013 19:12

Programacin Batch con archivos .bat

http://www.cristalab.com/tutoriales/programacion-batch-con-archivos-....

Es posible mapear una carpeta compartida como unidad de red con este tipo de script??

Por LP el 15 de Noviembre de 2007


hacia tiempo buskaba algo asi ... al fin lo publicaron ... gracias

Por Otaku RzO el 15 de Noviembre de 2007


Buen tip , ahora s la se habla ms del tema q de ti

Solo para complementar algo respecto a SET. Para mostrar todas las variables declaradas escribir solo "SET" (sin comillas) o mostrar solo la variable q declaraste: "SET VariableQueDeclare" (sin comillas), y para eliminar la variable escribir: "SET NombreDeMiVariable=" (sin comillas) No me sabia esa de SET /p , me has hecho recordar mis inicios con MSDOS 6.22 y Win3.1

Por noctam el 15 de Noviembre de 2007


buen tip, hace tiempo que no utilizo los archivos .bat y me gusto releer sobre el tema, simpre biene bien recordar estas cosas...para el siguiente tip sobre el tema explicaras como hacer menus?

Por Kamisoft el 15 de Noviembre de 2007


Genial!!! Gracias por compartirlo. Y ya sera genial que lo ampliaras y que nos muestres cmo utilizar los comandos condicionales. De todos modos GRACIAS!!!

Por Jorgelig el 15 de Noviembre de 2007


[quote="JaLeRu"]
Cdigo :

REG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run /v tubatch.bat /t REG_SZ /d C:\tubatch.bat

Aja, yo lo usaba para dejarle mensajes de muerte al otro que ocupaba la compu por la tarde

Por BlackSpiral el 16 de Noviembre de 2007


muy interesante

Por enjoydasilence el 17 de Noviembre de 2007


Como usuario de Windows nunca habia visto esto del MS-DOS (slo para ver la hora o recuperar el internet Pero si lo sabia en el shell de UNIX . )debo de estar en el callejn .

Por johnes el 20 de Noviembre de 2007


les recomiendo mezclar todo eso con archivos .reg y .vbs seria una mezcla explosiva

9 de 10

26/09/2013 19:12

Programacin Batch con archivos .bat

http://www.cristalab.com/tutoriales/programacion-batch-con-archivos-....

Por Jonatan el 21 de Noviembre de 2007


hahaha muy bueno este tip me viene bien para armar mis bats para laburar con proyector flash y ejecutarlos con Fscommand, gracias!

Por javier el 21 de Noviembre de 2007


Excelente lo felicito

Por Kinduff el 22 de Noviembre de 2007


Ahhh!! Me lo ganaste! Hace poco queria hacer un tutorial sobre bat. Te quedo muy bien de todos modos. Podre publicar "Una segunda parte" de este tutorial?

Por M@U el 22 de Noviembre de 2007


Kinduff :

Ahhh!! Me lo ganaste! Hace poco queria hacer un tutorial sobre bat. Te quedo muy bien de todos modos. Podre publicar "Una segunda parte" de este tutorial?

Creo que te lo volvieron a ganar Kinduff !!!...


JaLeRu :

[...]ya que como veremos en la segunda parte del tip se pueden lograr cosas bastante interesantes

Siguiente

Publica tu comentario

o puedes...
Ests registrado en Cristalab y quieres publicar tu URL y avatar?

El autor de este artculo ha cerrado los comentarios. Si tienes preguntas o comentarios, puedes hacerlos en el foro Entra al foro y participa en la discusin

No ests registrado an pero quieres hacerlo antes de publicar tu comentario?

Blog

Foros

Tutoriales

Tutoriales de Flash

Ejemplos .fla

Anime

Videotutoriales

Cursos

Curso de Flash

Curso de HTML

Tags

10 de 10

26/09/2013 19:12

También podría gustarte