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 extensión .BAT que contienen un conjunto de instrucciones MS-DOS. Cuando se ejecuta este archivo, las órdenes contenidas son ejecutadas en grupo, de forma secuencial, permitiendo automatizar diversas tareas. Cualquier orden reconocible por MS-DOS puede ser utilizado en un archivo batch.
Esta es la forma de automatizar procesos (copiar, pegar, renombrar y enviar datos) en MS-DOS. De este modo, evitamos procesos rutinarios y monótonos, acelerando los mismos. Tiene la funcionalidad de conectarse con otras interfaces por línea de comandos.
Un tipo batch es un archivo de texto que contiene órdenes a ejecutar en un intérprete de órdenes propio de DOS o OS/2. Cuando es iniciado, un programa shell —típicamente command.com o cmd.exe— lo lee y ejecuta, generalmente línea a línea. De este modo, se emplea para ejecutar series de comandos automáticamente. La extensión .bat es usada en DOS y Windows. Windows NT y OS/2 también usan .cmd.
Hay varias instrucciones especiales para este tipo de archivos:
Esta orden realiza, desde un archivo batch, una llamada a la ejecución de otro archivo del mismo tipo. El primer archivo no finaliza su ejecución al realizar la llamada.
Donde:
Ofrece a los usuarios una entrada de datos para que pueda escoger una opción, y espera hasta que ésta tenga lugar.
Atención: Los sistemas operativos Windows 2000, Windows xp o posteriores no trabajan con este comando. Sólo lo aceptan por compatibilidad con otros programas.
Da valor a una variable general o de entorno. Ejemplo: set nombre=jake
Parámetros:
Ejecuta una instrucción sobre un grupo de archivos. Puede utilizarse en la línea de comandos o en un archivo bat o batch:
Parámetros:
Salta la ejecución del programa hacia la línea indicada: GOTO :label
Donde :label (advierte los dos puntos) es una etiqueta que identifica la línea.
Permite la ejecución condicional, es decir, sólo se ejecuta la orden si cumple con la condición introducida.
Sintaxis:
Parámetros:
Suspende la ejecución de instrucciones y presenta un mensaje para que el usuario presione una tecla para continuar.
pause > nul no muestra mensaje al pausar la ejecución, pero sigue requiriendo que el usuario presione cualquier tecla para poder continuar.
Línea de comentario. Podemos usar REM , :: y % comentario %
Alterna la posición de los parámetros en el archivo bat.
El signo % seguido de un número (del 1 al 8) son los parámetros que se pasaron al invocar nuestro archivo bat. Por ejemplo si tenemos un archivo saludo.bat con la línea 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 ejecución. El signo %* representa todos los parámetros que se le pasaron.
::cancelamos el echo para que no moleste
@echo off
::mostramos la ruta y el nombre de este bat
echo estas ejecutando el archivo %0
::si se nos pasó algún parámetro, lo mostramos
if not "%1"=="" (
echo pasaste el/los parámetro/s %*
) else (
echo no pasaste ningún argumento al programa
)
::espera que se pulse una tecla para terminar
pause
Para crear nuestro propio batch, es tan fácil como ir al bloc de notas de Windows, escribir los comandos/códigos deseados, y al terminar hay que guardar el archivo con el nombre que queramos acabado en .bat.
Tomaremos el ejemplo la frase "Hola Mundo" para crear nuestro propio batch en un par de minutos. Algo muy básico y extremadamente simple de hacer. Abrir el bloc de notas, copiar este código y pegar en el bloc de notas, guardar con el nombre deseado terminado en .bat y ejecutar.
@echo off
title Mi primer 'batch'
echo Hola Mundo
pause
exit
.
El código básico sería este de arriba.
Al no especificar el código de color mediante su comando, el color por defecto es el color de la consola (cmd.exe), normalmente negro/blanco. Para cambiar el color solo añadiremos el comando "color" seguido de un espacio y el código de dos dígitos, de los cuales el primero corresponde al color de fondo y el segundo a la letra. En este caso el código de color es 06.
Entonces el código quedaría así:
@echo off
color 06
title Mi primer 'batch'
echo Hola Mundo
pause
exit
.
Para saber los colores disponibles y ver sus respectivos códigos, simplemente abrimos la consola (cmd.exe) y escribimos el comando "color ?" y pulsamos ENTER. Con esto aparecerá la lista de colores y sus respectivos códigos. Solo queda elegir los colores que más nos gusten.
Esto es muy sencillo y básico pero hay infinidad de comandos y funciones los cuales utilizados con inteligencia se pueden obtener multitud de aplicaciones.
Es fundamental e indispensable respetar siempre los espacios, caracteres, comandos, etc, a la hora de escribir cualquier línea de comando/código por simple o básica que sea.