Программа nhcolor используется в командной строке и выводит текст в заданном цвете. Это делает вывод консольных программ или bat файлов более удобным для восприятия, выделяя цветом фрагменты, важные для пользователя.

Возможности

Вывод заданного текста в фиксированном цвете

Этот режим предназначен для выделения цветом информационных сообщений в bat файлах. Ведь гораздо нагляднее смотрится протокол работы, когда этапы работы командного файла подсвечены другим цветом, в отличие от стандартного echo:

Этот пример показывается вывод строки голубым цветом:

nhcolor 03 Подготовка файлов для резервного копирования...

Вывод потока stdin в фиксированном цвете

В этом режиме программа печатает весь текст, приходящий в stdin, указанным цветом. Единственный параметр – это код цвета, например:

nhcolor 0f

В этом режиме можно отделить вывод определенной программы от других программ в выводе bat файла . Например, это может быть вывод команды dir после выполнения каких-то операций над файлами ярким цветом, по сравнению с другими сообщениями:

... операции копирования / перемещения / переименования
dir | nhcolor 0f

Также этот режим дает возможность выделить цветом сообщения об ошибках, если перенаправить поток stderr другой программы в nhcolor. Например, эта строка в bat файле выводит обычные сообщения стандартным цветом (белым), а сообщения об ошибках из stderr – красным:

dir backup*.dat 2>&1 1>&3 | nhcolor.exe 0c

Вот как это выглядит в командной строке:

Этот режим позволяет легко заметить сообщения об ошибках при пролистывании даже вывода из большого количества строк.

Вывод потока stdin с выбором цвета для каждой строки

В этом режиме цвет каждой строки выбирается исходя из ее содержания с помощью фильтров. Каждый фильтр цветом текста и задается регулярным выражением для поиска и, если в строке найдены вхождения, то строка будет напечатана цветом этого фильтра. Создавая дополнительные фильтры, можно строить целые цветовые схемы.

Например, эта команда запускает bat файл и передает его вывод в nhcolor с тремя фильтрами – при вхождении слова success (успешно) цвет строки будет зеленым, слова warning (предупреждение) – жёлтым, и при вхождении error (ошибка) – красным, остальное текст будет стандартным (белым):

my.bat | nhcolor 0a,success 0e,warning 0c,error

Вот как выглядит пример выполнения в окне командной строки:

В программе используется синтаксис ECMAScript, описание можно найти в статье TR1 Regular Expressions.

Скачать nhcolor

Загрузить новую версию nhcolor можно на странице загрузки.