Un archivo por lotes es un archivo utilizado por un sistema operativo Windows®, DOS u OS / 2. Es un archivo de texto que contiene una serie de comandos que un intérprete de comandos debe interpretar en orden. Esto significa que un solo archivo puede ejecutar una compleja disposición de comandos, a menudo ejecutando múltiples programas, para lograr un único fin cohesivo. Los administradores del sistema a menudo los usan para automatizar proyectos largos, y algunos programas que no se han recopilado por completo en un solo programa pueden usar un archivo por lotes para ejecutar los componentes necesarios y luego iniciar el programa final.
La extensión .bat es la extensión más utilizada para un archivo por lotes y será reconocida por prácticamente todos los shells. Los shells más modernos también pueden aceptar la extensión .cmd y, por lo general, la distinción entre los dos tiene que ver con los niveles de error, es decir, cuándo se mostrarán los errores. En 4DOS y otros shells similares, también pueden usar la extensión .btm, aunque esto no es reconocido por otros sistemas operativos.
En las computadoras con Windows® y las computadoras con DOS más antiguas, existe un archivo principal conocido como autoexec.bat que se ejecuta cada vez que se inicia la computadora. Esto incluye muchos archivos comunes que deben iniciarse y comandos que deben ejecutarse para preparar el sistema para su funcionamiento. Se pueden agregar cosas al archivo autoexec.bat para establecer comportamientos específicos en el inicio, como iniciar programas, limpiar espacios de archivos o hacer eco de recordatorios.
Dado que un archivo por lotes es fundamentalmente solo un archivo de texto, se puede crear uno en cualquier tipo de editor de texto simple, y el sufijo se puede cambiar posteriormente a .bat o .cmd. A la mayoría de las personas les resulta más fácil simplemente editar uno desde la línea de comandos, ya sea directamente en DOS o en una ventana de shell iniciada desde Windows®. El comando de edición se puede utilizar para crear un nuevo archivo, escribiendo algo como editar foo.bat. Dentro del archivo, se pueden usar una gran cantidad de comandos básicos.
Un archivo por lotes simple puede incluir algo de lo siguiente: pausa; echo Ahora abrimos la carpeta de documentos.; dir c: documentos. Para ejecutar el archivo, un usuario simplemente escribiría el nombre del archivo, sin el sufijo .bat, y se ejecutaría. Este archivo en particular comenzaría con una pausa, lo que solicitaría al usuario que oprima una tecla. Una vez que se pulsaba una tecla, se imprimía la línea «Ahora abrimos la carpeta de documentos». Luego, enumeraría el contenido del directorio de documentos que se encuentra dentro de la unidad C.
En realidad, hay bastantes comandos que se pueden usar dentro de un archivo por lotes para personalizarlos aún más. Por ejemplo, la variable% 1 se puede utilizar para imprimir una variable que el usuario ingresa después de escribir el nombre del archivo a ejecutar. Entonces, por ejemplo, si alguien quisiera eliminar un directorio y crear un nuevo directorio con un comando, podría crear un archivo llamado rmmk.bat que incluyera las siguientes líneas: rmdir% 1; mkdir% 2. Luego podría ejecutarlo escribiendo algo como «rmmk foo bar», lo que eliminaría el directorio llamado foo y crearía un nuevo directorio llamado bar.