Extensiones de archivo por lotes

Mantenido el
Tabla de contenidos

Con el símbolo del sistema puedes ejecutar operaciones en tu equipo desde la línea de comandos.

Puedes escribir los comandos directamente, pero para ejecutar varios a la vez resulta eficaz crear un archivo por lotes.

Escribe una serie de comandos en un archivo y ejecútalo con doble clic o desde el símbolo del sistema: todos los comandos se ejecutan de una vez.

Los archivos por lotes usan una de dos extensiones: .bat o .cmd. Ambas son habituales en las versiones actuales de Windows, pero difieren un poco en su origen y en el entorno para el que se diseñaron.

Acerca de los archivos por lotes

Los archivos con extensión .bat o .cmd contienen comandos que se ejecutan en el símbolo del sistema.

Al iniciarlos con doble clic, se abre el símbolo del sistema y los comandos se ejecutan de una vez.

En muchos casos aparece brevemente una ventana como la siguiente y se cierra enseguida. Esto indica que el archivo por lotes ha terminado de ejecutarse.

- □ ×
Í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>

Salvo que el archivo incluya algún comando que espere deliberadamente una entrada del usuario, este es el comportamiento habitual.

Diferencias entre .bat y .cmd

.bat se usa desde la época de MS-DOS y .cmd se introdujo con la familia Windows NT.

En Windows 10 / 11 ambos se ejecutan normalmente con cmd.exe y la sintaxis básica es casi idéntica.

Elemento.bat.cmd
OrigenDesde MS-DOSIntroducido con Windows NT
Programa que lo ejecutacmd.execmd.exe
Sintaxis básicaCasi igualCasi igual
ERRORLEVEL tras el éxito de algunos comandosPuede no cambiarSiempre se actualiza

La diferencia de comportamiento es ERRORLEVEL

La diferencia de comportamiento más conocida es el tratamiento del código de salida (ERRORLEVEL).

En algunos comandos como PATH, SET, ASSOC y FTYPE, un archivo .cmd actualiza ERRORLEVEL (a 0) incluso cuando tienen éxito, mientras que en un .bat puede conservarse el valor anterior.

En un archivo por lotes que comprueba ERRORLEVEL para detectar errores, esta diferencia puede cambiar el comportamiento. Consulta el artículo relacionado sobre ERRORLEVEL para más detalles.

Nota sobre sistemas operativos antiguos

.cmd es una extensión de la familia Windows NT, por lo que no puede ejecutarse en MS-DOS ni en Windows 95/98/Me. Si solo te diriges a las versiones actuales de Windows, puedes ignorarlo.

¿Cuál debo usar?

Si dudas, elige según estos criterios:

  • Solo para Windows actual y quieres dejar claro que es un script de cmd.exe → .cmd
  • Tus operaciones o documentos existentes usan siempre .bat → .bat

Cómo cambiar la extensión

Para usar como archivo por lotes un archivo .txt guardado con el Bloc de notas, cambia su extensión.

En el Explorador de archivos, activa “Extensiones de nombre de archivo” en “Ver” y renombra el archivo a sample.bat o sample.cmd. Si las extensiones están ocultas, el nombre real puede acabar siendo sample.bat.txt, así que ten cuidado.

Para ver los pasos completos de creación, consulta el artículo relacionado sobre cómo crear archivos por lotes. Para el texto ilegible al guardar archivos por lotes, consulta el artículo relacionado sobre codificación de caracteres.

Ejecutar un archivo por lotes sin la extensión

Tanto .bat como .cmd figuran en el valor predeterminado de la variable de entorno PATHEXT. Por eso, en el símbolo del sistema puedes escribir solo sample y se ejecuta sample.bat o sample.cmd.

Los scripts de PowerShell usan la extensión .ps1 y son distintos de los archivos por lotes.

Artículos relacionados

Cuestionario de práctica

Los archivos que contienen comandos que se ejecutan en el símbolo del sistema pueden tener dos extensiones: .bat y .cmd. Sobre las diferencias entre ellas, selecciona la afirmación incorrecta.

#Símbolo del sistema #Archivo por lotes #Extensión #bat #cmd