Los archivos por lotes (.bat), que aparecieron con las primeras versiones de MS-DOS, son una de las formas más antiguas de automatizar tareas en Windows. Incluso hoy en día, siguen siendo muy utilizados para acciones repetitivas, gestión de sistemas e implantación de software. Gracias a su sencillez y compatibilidad con casi todas las versiones de Windows, son una herramienta esencial tanto para administradores como para usuarios experimentados. En este artículo, exploraremos cómo crear y ejecutar un archivo por lotes, así como algunos comandos básicos para empezar.
¿Qué es un fichero Batch?
Un archivo Batch (o Batch script) es un archivo de texto que contiene una serie de comandos ejecutados secuencialmente por el intérprete de comandos de Windows (cmd.exe). Estos archivos se utilizan principalmente para automatizar tareas repetitivas sin intervención manual.
Históricamente introducidos en MS-DOS, los archivos por lotes siguen siendo una forma sencilla de ejecutar instrucciones del sistema, a pesar de la aparición de lenguajes más modernos como PowerShell. Son especialmente populares porque son ligeros y compatibles con todas las versiones de Windows.
El objetivo principal de un archivo por lotes es automatizar operaciones como :
- Ejecutar varios comandos en una sola acción,
- Gestión de archivos y carpetas (crear, eliminar, copiar),
- Administración del sistema (apagado/reinicio, gestión de procesos),
- Lanzamiento automático del software,
- Instalar o configurar programas en varias máquinas.
Tutorial: Creación de un archivo por lotes en Windows
Los archivos por lotes pueden utilizarse para ejecutar automáticamente una serie de comandos en Windows. Son particularmente útiles para automatizar tareas comunes como mostrar mensajes, gestionar archivos o lanzar programas. En este tutorial, veremos cómo crear un archivo por lotes y ejecutarlo utilizando un ejemplo sencillo con el comando echo
.
Un archivo por lotes es simplemente un archivo de texto que contiene comandos que Windows puede ejecutar. Tiene una extensión .bat o .cmd en lugar de .txt. Al hacer doble clic en él, Windows sigue las instrucciones que contiene y muestra el resultado en una ventana negra llamada Símbolo del sistema (cmd.exe).
No es necesaria ninguna instalación para crear un archivo por lotes. Por defecto, Windows incluye el intérprete de comandos (cmd.exe) para ejecutar estos archivos. Un simple editor de texto como el Bloc de notas es todo lo que necesita para escribir el script.
- Haga clic en Inicio, escriba Bloc de notas y ábralo.
- Introduce el siguiente código:
@echo off
echo ¡Hola! Este es un archivo por lotes.
pause
- Haz clic en Archivo > Guardar como…
Elija una ubicación (por ejemplo, Escritorio).
- En Nombre de archivo, introduzca MiScript.bat
- En Tipo, seleccione Todos los archivos (.) en lugar de Archivos de texto (.txt).

- Haga clic en Guardar.
🚨 ¡Atención! No ponga .txt al final del nombre del archivo, de lo contrario Windows no lo reconocerá como un Batch script.
Explicación de las líneas de código:
@echo off
: Evita que se muestren los comandos de forma que sólo se muestre el resultado.echo ¡Hola! Este es un archivo por lotes.
Muestra el mensaje.paus
e: Pone en pausa el programa hasta que el usuario pulsa una tecla.
Ejecutar el archivo Batch
- Vaya a la ubicación donde guardó el archivo (por ejemplo, el Escritorio).
- Haga doble clic en MonScript.bat.
- Se abre una ventana negra (el símbolo del sistema de Windows) que muestra :

- Pulse cualquier tecla para cerrar la ventana.
🎉 ¡Enhorabuena! ¡Acabas de ejecutar tu primer archivo por lotes!
Ejemplo y caso de uso de un fichero Batch
Los archivos por lotes se utilizan en muchos contextos, desde el uso personal hasta la administración de sistemas corporativos. He aquí algunos ejemplos concretos:
Automatización de tareas rutinarias
Eliminación de archivos temporales :
del /q /s C:Temp*
Abre varios programas con un solo comando:
start notepad.exe
start chrome.exe
Reiniciar un PC después de un tiempo determinado :
shutdown -r -t 60
Los archivos por lotes son una potente herramienta de automatización en Windows, pero también tienen limitaciones que pueden requerir el uso de otros lenguajes como PowerShell o Python.
Los principales comandos Batch para Windows
Algunos comandos requieren derechos de administrador para ejecutarse. Para ejecutar un archivo Batch como administrador :
- Haga clic con el botón derecho en el archivo
.bat
. - Seleccione Ejecutar como administrador.
Comando | Descripción | Ejemplo |
---|---|---|
echo | Muestra un mensaje en la pantalla. | echo Hola, este es un mensaje. |
@echo off | Desactiva la visualización de los comandos ejecutados. | @echo off |
pause | Pausa el script hasta que se pulsa una tecla. | pause |
cls | Borra la pantalla del Símbolo del sistema. | cls |
cd | Cambia de directorio. | cd C:\Carpeta |
md / mkdir | Crea una nueva carpeta. | mkdir C:\CarpetaNueva |
del | Elimina un archivo. | del C:\Archivo.txt |
copy | Copia un archivo o varios. | copy fichero.txt C:\Backup |
move | Mueve un archivo o carpeta. | move fichero.txt C:\NuevaCarpeta |
tasklist | Muestra una lista de los procesos en ejecución. | tasklist |
taskkill | Cierra un proceso en ejecución. | taskkill /IM notepad.exe /F |
shutdown | Apaga o reinicia el ordenador. | shutdown -s -t 60 |
ping | Prueba la conexión a una dirección IP o a un sitio web. | ping google.com |
ipconfig | Muestra la configuración de red. | ipconfig /all |
netstat | Muestra las conexiones de red activas. | netstat -an |
tracert | Muestra la ruta de red a una dirección. | tracert google.com |
start | Abre un programa o archivo. | start notepad.exe |
title | Cambia el título del Símbolo del sistema. | title Mi Script Batch |
color | Cambia el color del texto y del fondo. | color 0A |
set | Establece una variable de entorno. | set name=Juan |
if | Ejecuta un comando condicionalmente. | if "%nombre%"=="Juan" echo ¡Hola Juan! |
goto | Redirige a una sección específica del script. | goto :end |
exit | Cierra el script o el Símbolo del sistema. | exit |
Límites y desarrollo de scripts Windows
Los archivos por lotes han sido durante mucho tiempo una de las principales formas de automatizar tareas en Windows. Sin embargo, a medida que ha evolucionado la necesidad de administración y automatización, han surgido otras soluciones más potentes y flexibles. Entre ellas se encuentran PowerShell, scripts de Python y diversas herramientas de terceros para automatizar acciones más complejas e interactuar con el sistema.
PowerShell: una alternativa más potente al archivo .bat
PowerShell es un lenguaje de scripting y un entorno de ejecución desarrollado por Microsoft diseñado para gestionar y administrar sistemas Windows de una forma mucho más avanzada que los archivos Batch. Se basa en .NET y se puede utilizar para ejecutar comandos mucho más avanzados, incluidos :
- Gestionar las actualizaciones de Windows y las configuraciones del sistema.
- Gestione los servicios y procesos de Windows con
Get-Service
,Stop-Process
, etc. - Gestione archivos y carpetas en profundidad con
Copiar-elemento
,Mover-elemento
,Eliminar-elemento
. - Interacción con los registros y las API de Windows.
- Automatice la gestión de usuarios y grupos en una red corporativa a través de Active Directory.
Criterios | Lote (.bat/.cmd) | PowerShell |
---|---|---|
Complejidad de los comandos | Muy limitada | Avanzado, gestión de estructuras complejas |
Manipulación de archivos | Básica (copiar, mover) | Avanzada (compresión, extracción, modificación del contenido) |
Acceso a las API de Windows | Imposible | Completo gracias a .NET |
Seguridad | Baja (fácil de modificar) | Mejor gestión de derechos y ejecución restringida |
Interacción con la red | Limitada | Funciones avanzadas (peticiones HTTP, gestión de red) |