При разработке командного файла с выводом довольно большого объёма информации возникла необходимость выделения цветом части текста, например, сообщений о сбоях красным цветом, чтобы они сразу бросались в глаза. Хотелось, чтобы можно было вывести определённым цветом какую-то одну, две строки текста, или вывод определённой программы.

Есть несколько довольно часто используемых способов, но они имеют существенные недостатки

В итоге, пришлось написать решение, которое

  • может менять цвет текста в консоли по строкам
  • не ограничивает выводимый текст
  • не требует административных полномочий.

Итак, программа nhcolor имеет два варианта запуска.

Цвет текста входного потока stdin

Программа выводит в заданном цвете весь поток, поступающий на stdin.

Цвет текста задаётся параметром, например, 0c — это светло-красный текст на черном фоне, а входной поток направляется в nhcolor

echo Файл не найден | nhcolor 0c

Результат:
Пример nhcolor

Цвет текста, заданного в командной строке

Программа выводит текст, указанный в командной строке, заданным цветом.

Цвет текста задаётся первым параметром, например, 0a — это светло-зелёный текст на черном фоне, а выводимый текст задаётся в аргументах nhcolor

nhcolor 0a Архивирование закончено

Результат:
Пример nhcolor

Скачать nhcolor v1.0 binaries

Таблица цветов

Такая же, как в команде COLOR, поэтому её всегда можно посмотреть командой COLOR /?

Атрибуты цветов задаются в виде ДВУХ шестнадцатеричных цифр -- первая
задает цвет фона, а вторая определяет цвет переднего плана.  Каждая цифра может
иметь следующие значения:

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

Цвет текста в командном файле: 4 комментария

    • 14.11.2017 в 08:50
      Постоянная ссылка

      в принципе, может быть любая директория. только может потребоваться прописать ее путь в переменную path.

      я обычно устанавливаю,
      — если требуется только для текущего пользователя, то в %userprofile%\AppData\local\nhutils
      — если для всех пользователей, то в %ProgramFiles(x86)%\nhutils
      При этом надо прописать этот путь в переменную path. См. Переменные среды в Windows 7.

      можно и в system32 — тогда программа сразу будет доступна для всех пользователей и не надо будет прописывать путь в переменную path

      Ответить

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *