Definición de BAT (extensión y archivo batch)
En sistemas operativos DOS, los BAT o batch son archivos ejecutables que se procesan o ejecutan secuencialmente, también llamados archivos de procesamiento por lotes.
Estos archivos tienen la extensión ".bat" (en ocasiones ".cmd" en Windows NT y OS/2; y ".btm" 4DOS, 4OS2 and 4NT) y son en texto plano, por lo que pueden editarse en cualquier procesador de textos.
Un archivo .BAT contiene una serie de instrucciones que, al ejecutarse, se van procesando secuencialmente (generalmente un comando tras otro en el orden escrito, aunque posee estructuras de control básicas también para alterar el orden como "if", "for", "goto", etc.) permitiendo así automatizar diversas tareas.
Cualquier comando aceptado por MS-DOS, OS/2 o por la línea de comandos de Windows puede introducirse en un .BAT, automatizando procesos como copiar, renombrar, enviar datos, etc.
El programa shell encargado de ejecutar estos archivos es el command.com (en DOS) o el cmd.exe (en Windows).
En el caso de los sistemas operativos DOS, los archivos BAT o batch son de gran utilidad ya que permiten automatizar diferentes tareas mediante la ejecución secuencial de instrucciones. Estos archivos son editables en cualquier procesador de textos debido a que se encuentran en formato de texto plano.
La extensión de estos archivos es ".bat", aunque en ocasiones puede variar dependiendo del sistema operativo utilizado, como por ejemplo, ".cmd" en Windows NT y OS/2, o ".btm" en 4DOS, 4OS2 y 4NT.
Dentro de un archivo .BAT se pueden incluir diversos comandos aceptados por MS-DOS, OS/2 o la línea de comandos de Windows. Estos comandos permiten automatizar procesos como copiar, renombrar o enviar datos, entre otros.
Es importante destacar que los archivos .BAT pueden contener estructuras de control básicas, como "if", "for" y "goto", que permiten alterar el orden de ejecución de las instrucciones. Esto brinda mayor flexibilidad y posibilidades de personalización en la automatización de tareas.
La ejecución de los archivos BAT en el sistema operativo DOS está a cargo del programa shell denominado command.com. En cambio, en el caso de los sistemas operativos Windows, la ejecución corresponde al programa cmd.exe.
En resumen, los archivos BAT son una herramienta muy útil en los sistemas operativos DOS, ya que permiten automatizar tareas mediante la ejecución secuencial de instrucciones. Su extensión puede variar dependiendo del sistema operativo utilizado y son editables en cualquier procesador de textos. Estos archivos pueden contener comandos aceptados por el sistema operativo, permitiendo automatizar procesos como copiar, renombrar o enviar datos. Además, ofrecen estructuras de control básicas que permiten alterar el orden de ejecución de las instrucciones. La ejecución de los archivos BAT está a cargo del programa shell correspondiente al sistema operativo utilizado.
Escribir y ejecutar archivos BAT en Windows
En Windows se abre la consola Símbolo de sistema (CMD.exe) para ejecutar un archivo BAT.
Actualmente estos archivos se utilizan en Windows para facilitar tareas tediosas o repetitivas, relacionadas al control de archivos y carpetas especialmente.
El editor Bloc de Notas es el ideal para crear un archivo .BAT en Windows, aunque puede crearse en cualquier otro editor siempre que se guarde el texto sin formato.
Si quiere que los comandos se resalten para facilitar la escritura y se revisen los errores automáticamente, se sugiere descargar el editor Notepad++.

Archivo .bat en el Bloc de Notas de Windows
Extensiones de los archivos batch
.bat
La primera extensión de nombre de archivo utilizada por Microsoft para los archivos batch. Esta extensión funciona con DOS y todas las versiones de Windows, bajo COMMAND.COM o cmd.exe, a pesar de las diferentes maneras en que los dos intérpretes de comandos ejecutan archivos por lotes.
.cmd
Se utiliza para los archivos por lotes de la familia Windows NT y se envía a cmd.exe para su interpretación. COMMAND.COM no reconoce esta extensión de nombre de archivo, por lo que los scripts cmd.exe no se ejecutan en el entorno Windows equivocado por error. Además, los comandos append, dpath, ftype, set, path, assoc y prompt, cuando se ejecutan desde un archivo.bat, alteran el valor de la variable de nivel de error sólo en caso de error, mientras que desde dentro de un archivo.cmd, afectarían el nivel de error incluso cuando se devuelve sin error.
.btm
La extensión utilizada por 4DOS, 4OS2, 4NT y Take Command. Estos scripts son más rápidos, especialmente con los más largos, ya que el script se carga completamente listo para su ejecución, en lugar de línea por línea.
Parámetros de los archivos batch
COMMAND.COM y cmd.exe soportan una serie de variables especiales (%0, %1 a %9) para referirse a la ruta y nombre del trabajo por lotes y a los primeros nueve parámetros de llamada desde dentro del trabajo por lotes. Los parámetros inexistentes se sustituyen por una cadena de longitud cero. Pueden utilizarse de forma similar a las variables de entorno, pero no se almacenan en el entorno. Microsoft e IBM se refieren a estas variables como parámetros de reemplazo o parámetros reemplazables.
Ejemplo de archivo batch
Este archivo por lotes de ejemplo muestra ¡Hola Mundo!, solicita y espera a que el usuario presione una tecla y, a continuación, se termina. (Nota: No importa si los comandos son en minúsculas o mayúsculas a menos que trabajen con variables)
@ECHO OFF
ECHO ¡Hola Mundo!
PAUSA
Para ejecutar el archivo, debe guardarse con la extensión.bat (o.cmd para sistemas operativos de tipo Windows NT) en formato de texto sin formato, normalmente creado utilizando un editor de texto como Microsoft Notepad o un procesador de texto que funcione en modo de texto sin formato.
Cuando se ejecuta, se muestra lo siguiente:
Hola Mundo!
Pulse cualquier tecla para continuar. . .
Explicación
El intérprete ejecuta cada línea por turno, empezando por la primera. El símbolo @ al comienzo de cualquier línea impide que el prompt muestre ese comando mientras se ejecuta. El comando ECHO OFF desactiva el indicador de forma permanente o hasta que se vuelva a activar. La combinación @ECHO OFF es a menudo como aquí la primera línea de un archivo batch, impidiendo que se muestren los comandos, incluidos.
Luego se ejecuta la siguiente línea y el comando ECHO Hola Mundo! da como resultado Hola Mundo!
Se ejecuta la siguiente línea y se muestra el comando PAUSE Pulse cualquier tecla para continuar. . y detiene la ejecución del script.
Después de pulsar una tecla, el script termina, ya que no hay más comandos.
En Windows, si el script se ejecuta desde una ventana de la línea de comandos que ya se está ejecutando, la ventana permanece abierta en la línea de comandos como en MS-DOS; de lo contrario, la ventana se cierra al finalizar.
Programas malignos .BAT
Como con cualquier otro lenguaje de programación, los archivos por lotes pueden ser usados maliciosamente. Los troyanos simples y las bombas fork se crean fácilmente, y los archivos por lotes pueden envenenar el DNS modificando el archivo de hosts. Los virus por lotes son posibles, y también pueden propagarse a través de unidades flash USB utilizando la capacidad de ejecución automática de Windows.
Comandos básicos de los archivos .BAT
Los archivos por lotes utilizan el mismo idioma que la línea de comandos. Todo lo que está haciendo es decirle al símbolo del sistema lo que desea introducir a través de un archivo, en lugar de escribirlo en el símbolo del sistema. Esto le ahorra tiempo y esfuerzo. También le permite introducir alguna lógica (como bucles simples, sentencias condicionales, etc., de las que la programación procesal es capaz conceptualmente).
@echo: Este parámetro le permitirá ver su script de trabajo en la línea de comandos. Este parámetro es útil para ver su código de trabajo. Si surge algún problema con el archivo batch, podrá ver los problemas asociados con su script utilizando la función echo. Agregar un seguimiento a este parámetro le permitirá cerrar rápidamente su script después de que haya terminado.
title: Proporcionando la misma función que una etiqueta
cls: Borra la línea de comandos, que se usa mejor cuando el código externo puede hacer que lo que está accediendo tenga que ser encontrado.
rem: La abreviatura de comentario proporciona la misma funcionalidad que la etiqueta
%%a: Cada archivo de la carpeta.
(".\"): La carpeta raíz. Cuando se utiliza la línea de comandos, se debe dirigir la línea de comandos a un directorio en particular antes de cambiar el nombre de un archivo, eliminar un archivo, etc. Con los archivos batch, sólo necesita pegar su archivo.bat en el directorio de su elección.
pause: Permite una ruptura en la cadena lógica de su archivo.bat. Esto permite a los usuarios leer las líneas de comando antes de proceder con el código. La frase "Pulse cualquier tecla para continuar..." indicará una pausa.
start "" [sitio web]: Se dirigirá a un sitio web de su elección utilizando su navegador web predeterminado. Ejemplo: start "" alegsa.com.ar
ipconfig: Este es un parámetro clásico de la línea de comandos que libera información relativa a la información de red. Esta información incluye direcciones MAC, direcciones IP y máscaras de subred.
ping: Ping a una dirección IP, enviando paquetes de datos a través de las rutas del servidor para medir su ubicación y latencia (tiempo de respuesta).
Ejemplo de un BAT más avanzado
@ECHO OFF
:: Este archivo bat revela información y configuración sobre el sistema operativo, hardware y red de la computadora.
TITLE Información del sistema
ECHO Por favor espere... chequeando el sistema.
:: Sección 1: información del sistema operativo (SO).
ECHO ============================
ECHO SO INFO
ECHO ============================
systeminfo | findstr /c:"Nombre SO
systeminfo | findstr /c:"Version SO"
systeminfo | findstr /c:"Tipo de sistema"
:: Sección 2: Información de hardware.
ECHO ============================
ECHO HARDWARE INFO
ECHO ============================
systeminfo | findstr /c:"Memoria física total"
wmic cpu get name
:: Sección 3: Información de red.
ECHO ============================
ECHO NETWORK INFO
ECHO ============================
ipconfig | findstr IPv4
ipconfig | findstr IPv6
PAUSE
Ejecutar un archivo .BAT en Windows como Administrador
Si está ejecutando un comando que requiere privilegios de administrador, deberá ejecutar el script como administrador haciendo clic con el botón secundario en el archivo por lotes y seleccionando la opción Ejecutar como administrador.

Ejecutar como administrador un archivo .BAT
Ejecutar el archivo BAT según en el programador de tareas
Para programar un archivo por lotes en Windows 10, deberá usar el Programador de tareas con estos pasos:
- Abrir Inicio.
- Busque el Programador de tareas y haga clic en el resultado superior para abrir la experiencia.
- Haga clic con el botón derecho en la rama "Biblioteca del programador de tareas" y seleccione la opción Nueva carpeta.
- Escriba un nombre para la carpeta, por ejemplo, MyScripts.
- Haga clic en el botón Aceptar.
- Expanda la rama "Biblioteca del programador de tareas".
- Haga clic con el botón secundario en la carpeta MyScripts.
- Seleccione la opción Crear tarea básica.
- En el campo "Nombre", escriba un nombre descriptivo breve para la tarea, por ejemplo, SystemInfoBatch.
- En el campo "Descripción", cree una descripción para la tarea. (Este paso es opcional.)
- Haga clic en el botón Siguiente. Seleccione la opción Mensual.
El Programador de tareas le permite seleccionar entre una serie de desencadenantes, incluso en una fecha específica, durante el inicio, o cuando usted o un usuario en particular inicia sesión. Dependiendo de sus necesidades, tendrá que configurar parámetros adicionales. En este caso, estamos seleccionando la opción de ejecutar una tarea cada mes.
- Haga clic en el botón Siguiente.
- Utilizando los ajustes de "Inicio", especifique cuándo debe comenzar a ejecutarse la tarea y la hora.
- Utilice el menú desplegable "Mensual" para elegir los meses del año en los que desea ejecutar la tarea.
- Utilice el menú desplegable "Días" o "Encendido" para especificar los días en que se ejecutará la tarea.
- Haga clic en el botón Siguiente.
- Seleccione la opción Iniciar un programa para ejecutar el archivo por lotes.
- En el campo "Programa/script" indique la ruta del archivo batch.
- Haga clic en el botón Finalizar.
Resumen: BAT
Los archivos BAT son ejecutables en sistemas DOS, procesándose secuencialmente y automatizando tareas mediante instrucciones de comandos. Pueden editar en cualquier procesador de textos y el comando shell encargado de ejecutarlos es el command.com o cmd.exe.
¿Qué utilidad tienen los archivos BAT en los sistemas operativos DOS?
Los archivos BAT o batch en los sistemas operativos DOS tienen como utilidad la capacidad de ejecutar una serie de comandos de forma automática y secuencial. Esto permite automatizar tareas repetitivas, ahorrando tiempo y esfuerzo.
¿Cómo se crea un archivo BAT?
Para crear un archivo BAT, simplemente debes abrir un editor de texto y escribir los comandos uno debajo del otro, guardando el archivo con extensión .BAT al final. Luego, puedes ejecutarlo desde la línea de comandos o hacer doble clic en el archivo.
¿Qué comandos se pueden utilizar en un archivo BAT?
En un archivo BAT, se pueden utilizar una amplia variedad de comandos de DOS, como dir (listar archivos), copy (copiar archivos), del (borrar archivos), entre otros. Además, también es posible utilizar comandos externos, como ejecutar un programa o abrir un archivo.
¿Se pueden hacer interacciones con el usuario en un archivo BAT?
Sí, es posible hacer interacciones con el usuario en un archivo BAT. Se pueden mostrar mensajes de texto, pedir al usuario que ingrese información y utilizar esa información en los comandos subsiguientes. Esto permite una mayor personalización y flexibilidad en la ejecución del archivo BAT.
¿Se pueden hacer decisiones condicionales en un archivo BAT?
Sí, es posible hacer decisiones condicionales en un archivo BAT utilizando la instrucción IF. Esto permite realizar diferentes acciones dependiendo del resultado de una comparación, como por ejemplo, ejecutar un comando si un archivo existe o no.
¿Se pueden llamar a otros archivos BAT desde un archivo BAT?
Sí, es posible llamar a otros archivos BAT desde un archivo BAT utilizando el comando CALL. Esto permite reutilizar bloques de código en múltiples archivos BAT, facilitando la modularidad y el mantenimiento de los scripts.
Autor: Leandro Alegsa
Actualizado: 01-08-2023
¿Cómo citar este artículo?
Alegsa, Leandro. (2023). Definición de BAT. Recuperado de https://www.alegsa.com.ar/Dic/bat.php