COLOR — изменение цвета текста и фона в CMD

Команда COLOR меняет цвет текста и фона в окне командной строки Windows одной командой. Используйте два шестнадцатеричных символа: первый — фон, второй — текст.

Команда COLOR изменяет цвет текста и фона в окне командной строки Windows. Вся настройка укладывается в один аргумент из двух шестнадцатеричных цифр — никаких меню и настроек реестра.

Синтаксис команды COLOR

COLOR [атрибут]

атрибут — двузначный шестнадцатеричный код: первая цифра задаёт цвет фона, вторая — цвет текста. Если аргумент не указан, цвета сбрасываются до значений по умолчанию (те, что установлены в свойствах окна).

Доступные значения цветов:

Код Цвет
0 Чёрный
1 Синий
2 Зелёный
3 Голубой
4 Красный
5 Лиловый
6 Жёлтый
7 Белый
8 Серый
9 Ярко-синий
A Ярко-зелёный
B Ярко-голубой
C Ярко-красный
D Ярко-лиловый
E Жёлтый (яркий)
F Ярко-белый

Ключи и параметры

Команда COLOR не имеет дополнительных ключей — единственный аргумент это двузначный атрибут. Если указать только одну цифру, команда завершится с ошибкой. Если указать одинаковые цифры (например COLOR 11), команда вернёт код ошибки ERRORLEVEL 1 — нельзя задать одинаковый цвет текста и фона.

Параметр Описание Пример
[атрибут] Два шестнадцатеричных символа: фон + текст COLOR 0A
(без аргумента) Сброс цветов до значений по умолчанию COLOR
/? Вывод встроенной справки COLOR /?

Примеры использования

Классический зелёный терминал

Воссоздаёт вид «зелёного монитора» — чёрный фон, ярко-зелёный текст. Используется для ретро-скриптов или просто снижения нагрузки на зрение при ночной работе.

COLOR 0A

Фон станет чёрным (0), текст — ярко-зелёным (A). Изменение действует на всё текущее окно CMD немедленно.

Красный текст на чёрном фоне — аварийный режим

Удобно для скриптов, которые сигнализируют об ошибке: переключите цвет в начале обработчика ошибки.

COLOR 0C

Текст станет ярко-красным (C) на чёрном фоне (0). После обработки ошибки верните стандартные цвета командой COLOR 07.

Стандартный белый текст на чёрном фоне

Возвращает привычную цветовую схему CMD, если цвета были изменены скриптом.

COLOR 07

Это не то же самое, что COLOR без аргумента: здесь цвета задаются явно, тогда как COLOR без аргумента восстанавливает значения из свойств окна, которые могут быть произвольными.

Жёлтый текст на синем фоне

Контрастная схема, хорошо читается на проекторе или при демонстрации экрана.

COLOR 1E

Фон — синий (1), текст — жёлтый яркий (E).

Смена цвета в bat-скрипте

Используйте COLOR в начале скрипта, чтобы визуально выделить его запуск, и сбросьте цвет в конце.

@echo off
COLOR 3F
echo Скрипт запущен...
:: ... тело скрипта ...
COLOR

После завершения скрипта окно вернётся к цветам, заданным в свойствах CMD.

Проверить текущий атрибут цвета

Напрямую COLOR не возвращает текущий атрибут. Чтобы узнать его, используйте переменную %CMDEXTVERSION% или читайте значение реестра:

reg query "HKCU\Console" /v ColorTable00

Либо просто введите COLOR /? — справка показывает текущий атрибут в строке «Текущий цвет».

Частые ошибки и решения

Проблема Причина Решение
Команда выполняется, но цвет не меняется Цвет фона и текста совпадают (например COLOR 33) Используйте разные коды для фона и текста
ERRORLEVEL 1 после COLOR Указаны одинаковые цифры: невозможная схема Проверьте атрибут — оба символа должны быть различны
Цвет сбрасывается при открытии нового окна CMD COLOR действует только на текущий сеанс Прописать команду в автостарт CMD через реестр: HKCU\Software\Microsoft\Command Processor\AutoRun
В PowerShell команда COLOR не работает COLOR — внутренняя команда CMD, в PowerShell не существует Используйте $Host.UI.RawUI.BackgroundColor и ForegroundColor в PowerShell
Цвет не меняется в Windows Terminal Windows Terminal использует собственные темы, COLOR может быть переопределён профилем Настройте цвета в Settings → Profiles → Appearance или используйте команду в классическом cmd.exe

Когда применять, а когда нет

Команда COLOR подходит для временной смены схемы в текущем сеансе CMD и для визуального разделения этапов в bat-скриптах (например, зелёный — нормальный режим, красный — ошибка). Она не требует прав администратора и работает в любой версии Windows начиная с Windows 2000.

Не используйте COLOR для постоянной настройки терминала — изменение не сохраняется между сеансами. Для постоянных тем используйте свойства окна CMD (правая кнопка на заголовке → Свойства) или настройки профиля Windows Terminal. В PowerShell аналог — свойства $Host.UI.RawUI.ForegroundColor и $Host.UI.RawUI.BackgroundColor.

FAQ

Как сбросить цвет CMD до стандартного?

Выполните COLOR без аргументов. Это восстанавливает цвета из свойств окна CMD, заданных пользователем или по умолчанию системой.

Можно ли задать цвет только для части текста в CMD?

Нет, команда COLOR меняет цвет сразу всего окна. Для покрашенных фрагментов внутри скрипта придётся менять цвет перед каждым echo и возвращать обратно.

Сколько цветов доступно для команды COLOR?

16 цветов (коды 0–9 и A–F). Итого 16×15 = 240 допустимых комбинаций фона и текста (одинаковые пары запрещены).

Работает ли COLOR в PowerShell?

Нет. COLOR — внутренняя команда интерпретатора cmd.exe. В PowerShell используйте свойства $Host.UI.RawUI.BackgroundColor и $Host.UI.RawUI.ForegroundColor.

Изменение COLOR сохраняется после перезагрузки?

Нет, изменение действует только в текущем сеансе CMD. Для постоянного сохранения пропишите команду в ключ реестра HKCU\Software\Microsoft\Command Processor\AutoRun или измените цвета через Свойства окна.

Можно ли использовать COLOR в скрипте для индикации ошибок?

Да, это распространённая практика. Переключайтесь в COLOR 0C перед выводом сообщения об ошибке и возвращайтесь к COLOR 07 после. Проверяйте ERRORLEVEL после COLOR — если он равен 1, значит коды совпали и команда не выполнилась.

Оцените статью
( Пока оценок нет )
MW10
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.