You are on page 1of 5

Archivo batch

Archivo batch
En DOS, OS/2 y Microsoft Windows un archivo batch 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 MS-DOS. Cuando se ejecuta este archivo, mediante CMD los comandos contenidos son ejecutados en grupo, de forma secuencial, permitiendo automatizar diversas tareas. Cualquier comando MS-DOS puede ser utilizado en un archivo batch. sta es la forma de automatizar procesos (copiar, pegar, renombrar y enviar datos) en MS-DOS. De este modo, evitamos procesos rutinarios y montonos, acelerando los mismos. Tiene la funcionalidad de conectarse con otras interfaces por lnea de comandos. Un tipo batch es un archivo de texto que contiene comandos a ejecutar en un intrprete de comandos propio de DOS o OS/2. Cuando es iniciado, un programa shell tpicamente command.com o cmd.exe lo lee y ejecuta, generalmente lnea a lnea. De este modo, se emplea para ejecutar series de comandos automticamente. El hecho de que funcione slo para MS-DOS lo hace muy limitado. Su extensin es .bat o .cmd.

Comandos batch
Hay varios comandos especiales para este tipo de archivos:

Call
Este comando realiza, desde un archivo batch, una llamada a la ejecucin de otro archivo batch. El primer archivo no finaliza su ejecucin al realizar la llamada. CALL [unidad_disco:][path]nombre_archivo [parmetros] Donde: [unidad_disco:][path]nombre_archivo es la ruta al archivo batch llamado (debe ser un archivo *.bat) y [parmetros] puede ser cualquier tipo de informacin que necesite el programa llamado que pueda pasarse en lnea de comandos.

Choice
Ofrece a los usuarios una entrada de datos para que pueda escoger una opcin (escoger una de las letras que se le ofrecen), y espera hasta que sta tenga lugar. Es un parmetro opcional. /C[:]letra, especifica las letras que indicarn las opciones del usuario. Si las especificas separadas por comas, aparecern entre corchetes seguidas de un interrogante. Si no se especifican, se usara YN (si, no) por defecto. /N: evita que se muestre el prompt de usuario. /S: hace que discrimine entre entrada de letras maysculas o minsculas. /T[:]c,nn: introduce un tiempo de espera antes de ejecutar la accin por defecto. Con los siguientes posibles valores: c: seala que carcter ser usado como opcin por defecto despus de nn segundos. Solo puedes indicar uno de los caracteres especificados con el modificador /C. nn: indica el nmero de segundos de pausa. Valores entre 0 y 99.

Archivo batch CHOICE [/C[:]letra] [/N] [/S] [/T[:]c,nn] [texto], puedes especificar un texto que aparecer antes de la entrada de datos. No hace falta que se entrecomille, salvo que dicha cadena de texto incluya una barra /. Atencin: Los sistemas operativos Windows 2000, Windows xp o posteriores no trabajan con este comando. Slo lo aceptan por compatibilidad con otros programas.

Echo
Activa o desactiva el volcado de texto del programa (output) a la pantalla: ECHO [ON|OFF] echo [mensaje] Parmetros ON|OFF: activa o desactiva el volcado de texto. Para conocer el estado actual, usar ECHO sin parmetros. Mensaje: el texto a mostrar. Tambin podemos mostrar una lnea en blanco, aadiendo un punto al final: echo.

Set
Da valor a una variable general o de entorno. Ejemplo: set nombre=jake parmetros: set /a Da valor a una variable utilizando operaciones aritmticas ejemplo: set /a numero=2+2 Lo que devolvera el valor 4 set /p Permite la entrada de datos por parte del usuario (prompt),el valor introducido por el mismo define la variable. Ejemplo: set /p nombre=Introduce tu nombre Esto definira la variable %nombre% con el valor introducido por el usuario. Nota: Todo lo que vaya despus del signo de = en un set /p se vera en pantalla.

For
Ejecuta un comando sobre un grupo de archivos. Puede utilizarse en la lnea de comandos o en un archivo bat: a) en archivos BAT: FOR %%variable IN (set) DO command [command-parameters] b) en lnea de comandos: FOR %variable IN (set) DO command [command-parameters] Parmetros: %%variable o %variable: representa una variable que ser reemplazada por su valor. FOR reemplazar %%variable o %variable con la cadena de caracteres especificados en SET hasta que el comando especificado se haya ejecutado sobre todos los archivos. %%variable se emplea con FOR dentro de archivos batch, y %variable desde la lnea de comandos. (set), especifica uno o ms archivos de texto (o cadenas) que se procesaran con el comando. Necesita parntesis. command, el comando que debe ejecutarse sobre cada archivo especificado en SET. [command-parameters], parmetros de comando. Podemos emplear el comando con cualquiera de sus parmetros habituales.

Archivo batch

Goto
Salta la ejecucin del programa hacia la lnea indicada: GOTO label Donde :Label (advierte los dos puntos) es una etiqueta que identifica la lnea. 8 caracteres mximo.

If
Permite la ejecucin condicional, es decir, slo se ejecuta el comando si cumple con la condicin introducida. Sintaxis: IF [NOT] ERRORLEVEL nmero comando IF [NOT] string1==string2 comando IF [NOT] EXIST nombre_archivo comando Parmetros: NOT: el comando sujeto a condicin se ejecuta solo si esta es falsa. ERRORLEVEL nmero: la condicin es verdadera slo si el comando anterior devuelve un cdigo de salida igual o mayor que el especificado. command: especifica el comando a ejecutar si la condicin se cumple. string1==string2: La condicin se cumple solo si cadena1 es igual a cadena2. Cadena1 y cadena2 pueden ser cadenas de texto o variables. EXIST nombre_archivo: la condicin se cumple si existe nombre_archivo.

Pause
Suspende la ejecucin de comandos y presenta un mensaje para que el usuario presione una tecla para continuar. pause > nul no muestra mensaje al pausar la ejecucion, pero sigue requiriendo que el usuario presione cualquier tecla para poder continuar.

Rem
Lnea de comentario. Podemos usar REM o ::

Shift
Alterna la posicin de los parmetros en el archivo bat.

Parmetros pasados al script batch


El signo % seguido de un nmero (del 1 al 9) son las parmetros que se pasaron al invocar nuestro archivo bat. Por ejemplo si tenemos un archivo saludo.bat con la lnea echo Hola %1, si lo invocamos tecleando saludo.bat pepe presentar en pantalla Hola Pepe. Se usa por ejemplo para pasar nombres de archivos a un bat que se encarga de borrarlos, moverlos, etc. El signo %0 representa el nombre del archivo bat en ejecucin. El signo %* representa todos los parmetros que se le pasaron. ::cancelamos el eco para que no moleste @echo off ::mostramos la ruta y el nombre de este bat echo estas ejecutando el archivo %0 ::si se nos paso algun parametro, lo mostramos if not "%1"=="" (

Archivo batch echo pasaste el/los parametro/s %* ) else ( echo no pasaste ningun argumento al programa ) ::espera que se pulse una tecla para terminar pause "Hello World" @ECHO OFF Title My first batch echo Hello World pause>nul exit .

Fuentes y contribuyentes del artculo

Fuentes y contribuyentes del artculo


Archivo batch Fuente: http://es.wikipedia.org/w/index.php?oldid=62053138 Contribuyentes: Abece, Airunp, Alfredo Draco, Amads, BetoCG, Blacki4, CF, DMG, David Abin, Dreitmen, Droker94, El austin, Eselito5, Folkvanger, GermanX, Gotenx, Iescriva, Invadinado, Isha, Jjmama, Jkbw, Kved, Lammeruzzo, Letuo, Loveless, MarcoAurelio, Mushii, Mx DDoS, Napier, Nebur43, Netito777, Nixn, Omegakent, Retama, Riviera, Ruben.cervera, RubiksMaster110, Sergio Andres Segovia, Stuffy, Swatnio, Vanbasten 23, Waeswaes, Xexito, Zoram.hakaan, 129 ediciones annimas

Licencia
Creative Commons Attribution-Share Alike 3.0 Unported //creativecommons.org/licenses/by-sa/3.0/

You might also like