Cómo crear un archivo por lotes

Mantenido el

Un archivo por lotes es un archivo de texto que reúne varios comandos del símbolo del sistema para ejecutarlos de una vez. Al hacer doble clic, los comandos que escribiste se ejecutan automáticamente, uno tras otro.

Los archivos por lotes usan la extensión .bat o .cmd. Ambas funcionan casi igual (.cmd es el formato para Windows NT y posteriores, y trata de forma distinta el código de salida, ERRORLEVEL, de algunos comandos). Este artículo usa la extensión más extendida, .bat.

Los archivos por lotes permiten automatizar tareas como:

  • Hacer copias de seguridad de archivos a diario
  • Crear muchas carpetas a la vez
  • Iniciar aplicaciones o cambiar ajustes
  • Ordenar o eliminar archivos de registro
No se necesitan conocimientos de programación

Puedes crear un archivo por lotes sin saber programar. Basta con escribir en un archivo de texto los comandos que usarías en el símbolo del sistema.

Cómo crear un archivo por lotes

Paso 1: abrir un archivo nuevo en el Bloc de notas

Abre el Bloc de notas. Búscalo en el menú Inicio, o pulsa Win + R, escribe notepad y pulsa Enter.

Paso 2: escribir los comandos

Escribe lo siguiente en el Bloc de notas.

@echo off
echo ¡Hola! Se ejecutó el archivo por lotes.
pause

Más adelante se explica cada comando. Por ahora, escribe estas tres líneas tal cual.

Paso 3: guardar con la extensión .bat

Elige «Archivo» → «Guardar como» en el Bloc de notas. En el cuadro de diálogo, asegúrate de:

  1. Escribir el nombre del archivo como "hello.bat" (entre comillas dobles)
  2. Cambiar el tipo a «Todos los archivos (*.*)»
  3. Establecer la codificación en «ANSI»
Pon el nombre del archivo entre comillas dobles

Sin comillas dobles ("), el archivo puede guardarse como hello.bat.txt. Escríbelo siempre como "hello.bat".

Si el icono del archivo en el Explorador cambia a un engranaje, Windows lo reconoce como archivo por lotes.

Paso 4: ejecutar con doble clic

Haz doble clic en el hello.bat guardado. Se abre una ventana del símbolo del sistema y se ejecuta.

¡Hola! Se ejecutó el archivo por lotes.
Presione una tecla para continuar . . .

Si ves esto, funcionó. Pulsa cualquier tecla para cerrar la ventana.

Qué significa @echo off

@echo off es una línea habitual al inicio de un archivo por lotes.

echo off — Evita que se muestren los propios comandos mientras se ejecuta el archivo. Normalmente cada comando ejecutado se muestra en pantalla; con echo off solo aparecen los resultados.

@ — Oculta también el propio comando echo off.

Esta es la diferencia.

Sin @echo off:

C:\Users\user>echo Hola
Hola
C:\Users\user>pause
Presione una tecla para continuar . . .

Con @echo off:

Hola
Presione una tecla para continuar . . .

Salvo que tengas un motivo para no hacerlo, empieza tus archivos por lotes con @echo off.

Sobre el comando echo

El comando echo muestra texto en pantalla, como en echo texto a mostrar. Consulta

para más detalles.

Qué hace el comando pause

El comando pause detiene el archivo por lotes y muestra «Presione una tecla para continuar …».

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>pause
Presione una tecla para continuar …
C:\users\user>

Cuando ejecutas un archivo por lotes con doble clic, la ventana se cierra en cuanto termina el proceso. Poner pause al final la mantiene abierta para que puedas leer el resultado.

Al ejecutarlo desde el símbolo del sistema

Si ejecutas el archivo desde un símbolo del sistema ya abierto, la ventana no se cierra sola, así que pause no es imprescindible. Es más importante cuando lo ejecutas con doble clic.

Consulta

para más detalles.

Escribir comentarios con rem

Usa el comando rem para escribir comentarios. Las líneas que empiezan por rem se ignoran.

@echo off
rem Este archivo por lotes es un ejemplo
rem Autor: Taro Yamada
rem Fecha de creación: 2026-04-24

echo Iniciando...

rem Aquí se realiza algún proceso
echo Terminado.

pause

Los comentarios facilitan entender el archivo cuando lo revisas más tarde o lo usa otra persona.

Comentarios con ::

También puedes escribir comentarios con :: en lugar de rem, pero puede causar errores dentro de bloques IF y bucles FOR. rem es más seguro. Consulta

para más detalles.

Ejemplo práctico: un archivo por lotes de copia de seguridad

Este archivo copia los archivos de una carpeta a una carpeta de copia de seguridad con la fecha actual en el nombre.

@echo off
rem ========================================
rem Script de copia de seguridad de archivos
rem Cada vez que se ejecuta, copia a una carpeta con la fecha
rem ========================================
setlocal

rem Establecer el origen y el destino
set SOURCE=C:\Users\%USERNAME%\Documents\Trabajo
set BACKUP_ROOT=D:\Backup

rem Obtener la fecha actual para el nombre de la carpeta (p. ej. 20260424)
rem Nota: el formato de %DATE% depende de la configuración regional (aquí se supone aaaa/mm/dd)
set TODAY=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%
set DEST=%BACKUP_ROOT%\backup_%TODAY%

echo Iniciando la copia de seguridad...
echo Origen: %SOURCE%
echo Destino: %DEST%
echo.

rem Crear la carpeta de destino si no existe
if not exist "%DEST%" mkdir "%DEST%"

rem Copiar los archivos
xcopy "%SOURCE%\*" "%DEST%\" /E /Y /I

echo.
echo Copia de seguridad completada.
echo Guardada en: %DEST%
echo.

endlocal
pause

Puntos clave del script:

  • set — Define una variable. Guardar las rutas en SOURCE y DEST facilita cambiarlas después
  • %DATE% — Variable de entorno con la fecha actual. %DATE:~0,4% extrae una parte. Su formato cambia según la configuración regional, así que ajusta las posiciones si tu fecha no tiene el formato aaaa/mm/dd
  • if not exist — Ejecuta el comando solo si la carpeta no existe
  • xcopy — Copia archivos. /E incluye subcarpetas, /Y omite la confirmación de sobrescritura e /I trata el destino como carpeta
Cambia las rutas según tu entorno

Cambia las rutas de origen (SOURCE) y destino (BACKUP_ROOT) según tu entorno. Si indicas una ruta que no existe, se produce un error.

Ejecutar como administrador

Algunos archivos por lotes realizan operaciones que requieren permisos de administrador, como escribir en carpetas del sistema o controlar servicios.

Ejecutar como administrador con el clic derecho

Haz clic derecho en el archivo y elige «Ejecutar como administrador». Consulta

para más detalles.

Conviene indicar en un comentario que el archivo debe ejecutarse como administrador.

@echo off
rem * Ejecuta este archivo por lotes como administrador
rem   Haz clic derecho y elige "Ejecutar como administrador"

echo Ejecutando con permisos de administrador...
pause

Errores comunes y soluciones

Texto ilegible (problemas de codificación)

Si un archivo por lotes con caracteres no ASCII, como acentos o japonés, muestra caracteres ilegibles, lo más probable es que la causa sea la codificación del archivo.

Guardar en UTF-8 puede producir texto ilegible

Las versiones recientes del Bloc de notas (Windows 10 versión 1903 y posteriores, y Windows 11) guardan por defecto en UTF-8 (sin BOM). Sin embargo, el símbolo del sistema usa una página de códigos heredada que depende de la configuración regional del sistema, por lo que un archivo UTF-8 con caracteres no ASCII puede mostrar caracteres ilegibles o no ejecutarse correctamente. Al guardar, establece la codificación en «ANSI».

Si necesitas UTF-8, añade chcp 65001 > nul en la línea siguiente a @echo off. En algunos entornos puede ser inestable. Consulta

para más detalles sobre codificaciones.

La extensión queda como .txt

Si no pones el nombre del archivo entre comillas dobles al guardar en el Bloc de notas, puede guardarse como hello.bat.txt. Si el Explorador oculta las extensiones, activa «Vista» → «Extensiones de nombre de archivo» para comprobarlo.

Rutas con espacios

Las rutas que contienen espacios deben ir entre comillas dobles.

@echo off
rem Incorrecto: la ruta con espacio no está entre comillas
copy C:\My Documents\file.txt D:\Backup\

rem Correcto: rutas entre comillas dobles
copy "C:\My Documents\file.txt" "D:\Backup\"
Pon siempre las rutas entre comillas dobles

Windows tiene muchas carpetas con espacios, como Program Files y My Documents. Acostúmbrate a poner siempre las rutas entre comillas dobles.

Resumen

ElementoDetalle
Cómo crearloEscribir los comandos en el Bloc de notas y guardar con la extensión .bat
@echo offLínea habitual que oculta los propios comandos
echoMuestra texto en pantalla
pauseEspera una tecla para que la ventana no se cierre
remEscribe un comentario
CodificaciónSe recomienda ANSI (página de códigos heredada)
Rutas con espaciosEntre comillas dobles

Artículos relacionados

Preguntas de práctica

Problema de práctica

¿Cuál es el efecto de @echo off al inicio de un archivo por lotes?

回答がサーバーに送信されることはありません
Problema de práctica

¿Por qué se pone el nombre del archivo entre comillas dobles, como "hello.bat", al guardar un archivo por lotes en el Bloc de notas?

回答がサーバーに送信されることはありません
Problema de práctica

Si en un archivo por lotes los caracteres no ASCII se ven ilegibles, ¿cuál es la solución más básica?

回答がサーバーに送信されることはありません
#Símbolo del sistema #Archivos por lotes #bat #Principiantes #Cómo hacerlo