Qué es un archivo BAT y cómo (y para qué) puedes crear uno tú mismo en pocos pasos

Qué es un archivo BAT y cómo (y para qué) puedes crear uno tú mismo en pocos pasos
29 comentarios

Aunque cada vez sea menos frecuente, es probable que en alguna ocasión te habrás encontrado en tu disco duro con un archivo .bat (si tu experiencia en la informática data de Windows 95/98 o antes, la probabilidad será del 100%). El archivo C:\autoexec.bat, por ejemplo, era el responsable de regular la secuencia de inicio de MS-DOS antes de que este ejecutase Windows.

'Bat' es la abreviatura de 'batch file' o 'archivo de lotes', y básicamente consiste en un archivo de texto que ejecuta secuencias de comandos, con el objetivo, habitualmente, de automatizar tareas que requieran un largo número de instrucciones (desde renombrado masivo de archivos a la instalación de un programa); así, al recurrir a un *.bat, bastará con escribirlo una vez y podremos ahorrar tiempo y evitar errores tipográficos.

Autoexec Bat
Ejemplo de un Autoexec.bat básico de Windows 3.11: la secuencia de comandos permite configurar y cargar drivers, o especificar los directorios de trabajo del SO.

Efectivamente, su utilidad apenas difiere de la de un script de PowerShell o de Bash (en el caso de que uses WSL/Linux), sólo que en el caso de los BAT el encargado de ejecutarlo será CMD.EXE, también conocido como el 'Símbolo del Sistema', el último rastro visible en los actuales Windows del viejo MS-DOS.

Cómo crear y ejecutar un archivo .bat

Un archivo .bat es fácil de crear: puede hacerse desde el propio Bloc de Notas —o cualquier otro editor de texto simple—, sencillamente cambiando su extensión .txt por .bat en el momento de guardarlo.

También recurriremos a dicho programa para editar el fichero, pues, si bien deberemos tener cuidado para ello de hacer clic sobre el archivo con el botón derecho y seleccionar 'Editar', pues de lo contrario estaríamos ejecutando directamente la secuencia de comandos (otra forma de ejecutarla sería invocarla donde el Símbolo del sistema).

Puedes ver a continuación un archivo .bat de prueba, junto a su contenido (en el Bloc de Notas, derecha) y a la salida en pantalla de su ejecución (en el Símbolo del sistema, izquierda):

Ejemplo Bat 1

Vamos a explicarlo un poco: la instrucción 'echo' muestra mensajes en la pantalla ('@echo off' borra cualquier mensaje previo) y 'pause' paraliza la ejecución de la secuencia de comandos a la espera de que el usuario pulse alguna tecla.

Un ejemplo de fichero .bat útil: organizando una carpeta por extensiones de archivo

Ahora vamos a probar a crear un archivo de lotes algo más complicado, pero mucho más útil. En él veremos cómo se usan las instrucciones condicionales (ejecutar X sólo si existe Y fichero) y cómo se pueden insertar comentarios en el .bat con la instrucción 'rem'. A continuación, se usarán los comandos del sistema 'mkdir' (crear carpeta) y 'move' (mover fichero)… puedes consultar aquí el resto de comandos disponibles.

Pero ¿cuál es el objetivo de este archivo de lotes? Sencillo: crear una subcarpeta por cada tipo de archivo presente en una carpeta, agrupando los ficheros por carpetas separadas según su extensión de fichero. Pensad en lo útil que sería usarlo en carpetas como 'Descargas' o 'Escritorio':

@echo off

rem Por cada archivo presente en el directorio…

for %%a in (".*") do (

rem Comprobamos que el fichero en cuestión tengo una extensión y que no sea el propio .bat que estamos ejecutando…

if "%%~xa" NEQ "" if "%%~dpxa" NEQ "%~dpx0" (

rem Comprobamos que la carpeta que corresponde a su extensión no exista ya y, en ese caso, la creamos…

if not exist "%%~xa" mkdir "%%~xa"

rem Y si no es así, procedemos a mover el fichero a la mencionada carpeta.

move "%%a" "%%~dpa%%~xa\" ))

Temas
Inicio