HOWTO · Batch

Color en Batch Script

Este tutorial le enseñará sobre el color en Batch Script.

En esta página

El comando COLOR del Símbolo del sistema de Windows cambia los colores del fondo y del texto de la consola. En un script Batch, sirve para distinguir mejor los avisos y mensajes de estado. El primer dígito hexadecimal elige el color de fondo; el segundo, el color del texto (primer plano). Por ejemplo, COLOR 0A significa fondo negro y texto verde claro.

Cómo funciona el comando COLOR

La sintaxis es COLOR attr, donde attr consta de dos dígitos hexadecimales, del 0 al F, escritos juntos y sin espacios. El primer dígito corresponde al fondo y el segundo al texto. Así, COLOR 1E selecciona el azul para el fondo y el amarillo claro para el texto. Los nombres describen la paleta de la consola; la apariencia real puede depender de la configuración de colores de cada usuario.

Para imprimir un comando que puedas incluir en un archivo Batch, ejecuta este ejemplo de Python:

El código y las etiquetas o salidas visibles de esta sección se mantienen en inglés.

print("COLOR 0A")
COLOR 0A

La línea de Python imprime el comando Batch; no cambia los colores del terminal. En un Símbolo del sistema de Windows, COLOR 0A cambia el texto a verde claro sobre fondo negro. Después, COLOR 0F cambia el texto a blanco brillante sobre fondo negro. Los mensajes siguen siendo texto normal de la consola que se puede seleccionar; solo cambia su apariencia.

Códigos de color de Batch

Cada dígito corresponde a uno de los 16 valores de color de la consola. Puedes usar estos valores en cualquiera de las dos posiciones del argumento de COLOR:

Código Color
0 Negro
1 Azul
2 Verde
3 Aguamarina
4 Rojo
5 Púrpura
6 Amarillo
7 Blanco
8 Gris
9 Azul claro
A Verde claro
B Aguamarina claro
C Rojo claro
D Púrpura claro
E Amarillo claro
F Blanco brillante

Por ejemplo, COLOR 0C usa el negro como fondo y el rojo claro como color del texto. El comando acepta dígitos hexadecimales, por lo que las letras de la A a la F pueden escribirse en mayúscula o minúscula.

Establecer colores en un script Batch

Coloca COLOR antes del mensaje cuya apariencia quieras cambiar. La configuración se aplica a la sesión actual del Símbolo del sistema, así que puedes usar otro comando COLOR más adelante para seleccionar un par distinto. En un script, la secuencia @echo off, color 0A, set /p "name=Enter your name: " y echo Hello, %name%! establece texto verde claro sobre fondo negro, solicita un nombre e imprime una respuesta.

SET /P muestra el aviso y espera la entrada del usuario. El script usa texto verde claro sobre fondo negro tanto para el aviso como para el saludo. Elige un par con suficiente contraste para la pantalla prevista, ya que la personalización de la paleta de la consola puede cambiar el aspecto de los colores indicados.

Usar colores para los mensajes y errores

Un script puede cambiar el par de colores entre distintos tipos de mensajes para que sea más fácil identificar un estado o un error. Por ejemplo, color 0F seguido de echo Starting the task. muestra un mensaje general en blanco brillante; color 0C seguido de echo Error: the task could not continue. muestra un error en rojo claro. Los comandos y mensajes siguen siendo texto seleccionable en el archivo Batch.

Aquí, 0F significa fondo negro y texto blanco brillante, mientras que 0C significa fondo negro y texto rojo claro. Usa el color como una señal visual, no como la única forma de comunicar el estado: conserva palabras con significado como Error en el mensaje para que se entienda aunque los colores sean difíciles de distinguir o no estén disponibles. Los mensajes literales de estos ejemplos permanecen en inglés.

Manejar combinaciones de colores no válidas

El color del texto y el del fondo deben ser distintos. Un par con dígitos iguales, como COLOR 44, no es válido; no significa «restaurar los valores predeterminados». Si recibe valores idénticos para el texto y el fondo, el comando COLOR establece ERRORLEVEL en 1. Evita los dígitos iguales al elegir un par.

Para comprobar el estado del comando justo después de intentar cambiar los colores, consulta ERRORLEVEL antes de ejecutar otro comando que pueda modificarlo. Por ejemplo, color 44 seguido inmediatamente de if errorlevel 1 echo COLOR did not accept the requested pair. comprueba si el comando falló.

La comprobación informa del fallo sin dar por sentado que la consola haya cambiado silenciosamente a un valor predeterminado concreto. Si necesitas establecer un color conocido, usa un par válido, como COLOR 07 (fondo negro y texto blanco).

Limitaciones del Símbolo del sistema de Windows

Estas secuencias Batch usan el comando COLOR del Símbolo del sistema de Windows; el cambio de color es específico de ese entorno. PowerShell tiene sus propios comandos y reglas para los colores de la consola. Aquí se dispone de los 16 valores de la tabla, y los tonos visibles pueden variar según la paleta del Símbolo del sistema. Las secuencias Batch son instructivas y no se ejecutaron en este entorno; ejecútalas en el Símbolo del sistema de Windows para observar su apariencia y comportamiento.