color
Изменяет цвет переднего плана и фона в окне командной строки текущего сеанса. При использовании без параметров цвет восстанавливает окно командной строки по умолчанию для переднего плана и фона.
Синтаксис
color [attr]
Параметры
| Параметр | Описание |
|---|---|
| attr | Задает атрибут цвета выходных данных консоли. |
| /? | Отображение справки в командной строке. |
В следующей таблице перечислены допустимые шестнадцатеричные цифры, которые можно использовать в качестве значений: attr
| Значение | Цвет |
|---|---|
| 0 | Черный |
| 1 | Синий |
| 2 | Зеленый |
| 3 | Темно-бирюзовая |
| 4 | Красный |
| 5 | Лиловая |
| 6 | Желтый |
| 7 | Белокожий(ая) |
| 8 | Серый |
| 9 | Светло-синий |
| a | Светло-зеленый |
| б | Легкий аква |
| в | Светло-красный |
| дн. | Светло-фиолетовый |
| Д. | Светло-желтый |
| f | Ярко-белый |
Замечания
- Можно указать одну или две шестнадцатеричные цифры. Первый используется в качестве цвета переднего плана, а второй используется в качестве цвета фона. Если указать две шестнадцатеричные цифры, не используйте пробелы между ними.
- Если указать только одну шестнадцатеричную цифру, соответствующий цвет используется в качестве цвета переднего плана, а цвет фона имеет значение по умолчанию.
- Чтобы задать цвет окна командной строки по умолчанию, выберите верхний левый угол окна командной строки, выберите вкладку «Цвета«, а затем выберите цвета, которые вы хотите использовать для фона экрана и экрана.
- Если указать одно и то же значение для двух шестнадцатеричных цифр, для параметра ERRORLEVEL задано 1 значение, и изменения не изменяются на переднем плане или цвете фона.
Примеры
Чтобы изменить цвет фона окна командной строки на серый и цвет переднего плана на красный, введите:
color 84
Чтобы изменить цвет окна командной строки переднего плана на светло-желтый, введите следующее:
color e
В этом примере для фона задан цвет по умолчанию, так как указана только одна шестнадцатеричная цифра.
Дополнительные ссылки
progtask.ru
Для изменения цвета подложки и шрифта используются свойста Console.BackgroundColor и Console.ForegroundColor соответственно.
Для того, чтобы скинуть цвета на стандартные, можно воспользоваться методом Console.ResetColor().
class Program < static void Main(string[] args) < Console.BackgroundColor = ConsoleColor.White; // устанавливаем белый цвет фона для текста Console.ForegroundColor = ConsoleColor.Red; // устанавливаем красный цвет шрифта Console.WriteLine("Строка 1"); // выводим строку Console.ResetColor(); // скидываем настройки цвета на стандартные Console.WriteLine("Строка 2"); Console.ForegroundColor = ConsoleColor.Blue; Console.WriteLine("Строка 3"); // устанавливаем синий цвет шрифта Console.ReadKey(); // ожидание нажатия любой кнопки >>
Console. Background Color Свойство
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает цвет фона консоли.
public: static property ConsoleColor BackgroundColor < ConsoleColor get(); void set(ConsoleColor value); >;
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")] public static ConsoleColor BackgroundColor
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")] [System.Runtime.Versioning.UnsupportedOSPlatform("android")] [System.Runtime.Versioning.UnsupportedOSPlatform("ios")] [System.Runtime.Versioning.UnsupportedOSPlatform("tvos")] public static ConsoleColor BackgroundColor
public static ConsoleColor BackgroundColor
[] static member BackgroundColor : ConsoleColor with get, set
[] [] [] [] static member BackgroundColor : ConsoleColor with get, set
static member BackgroundColor : ConsoleColor with get, set
Public Shared Property BackgroundColor As ConsoleColor
Значение свойства
Значение из перечисления, задающее фоновый цвет консоли, то есть цвет, на фоне которого выводятся символы. Значением по умолчанию является Black.
Исключения
Цвет, указанный в операции SET, не является допустимым членом ConsoleColor.
Пользователь не имеет разрешений на выполнение этого действия.
Примеры
В следующем примере значения перечисления сохраняются в ConsoleColor массиве, а текущие значения BackgroundColor свойств и ForegroundColor сохраняются в переменных. Затем он изменяет цвет переднего плана на каждый цвет в ConsoleColor перечислении, за исключением цвета, соответствующего текущему фону, и изменяет цвет фона на каждый цвет в ConsoleColor перечислении, за исключением цвета, соответствующего текущему переднему плану. (Если цвет переднего плана совпадает с цветом фона, текст не отображается.) Наконец, он вызывает ResetColor метод для восстановления исходных цветов консоли.
using System; class Example < public static void Main() < // Get an array with the values of ConsoleColor enumeration members. ConsoleColor[] colors = (ConsoleColor[]) ConsoleColor.GetValues(typeof(ConsoleColor)); // Save the current background and foreground colors. ConsoleColor currentBackground = Console.BackgroundColor; ConsoleColor currentForeground = Console.ForegroundColor; // Display all foreground colors except the one that matches the background. Console.WriteLine("All the foreground colors except , the background color:", currentBackground); foreach (var color in colors) < if (color == currentBackground) continue; Console.ForegroundColor = color; Console.WriteLine(" The foreground color is .", color); > Console.WriteLine(); // Restore the foreground color. Console.ForegroundColor = currentForeground; // Display each background color except the one that matches the current foreground color. Console.WriteLine("All the background colors except , the foreground color:", currentForeground); foreach (var color in colors) < if (color == currentForeground) continue; Console.BackgroundColor = color; Console.WriteLine(" The background color is .", color); > // Restore the original console colors. Console.ResetColor(); Console.WriteLine("\nOriginal colors restored. "); > > //The example displays output like the following: // All the foreground colors except DarkCyan, the background color: // The foreground color is Black. // The foreground color is DarkBlue. // The foreground color is DarkGreen. // The foreground color is DarkRed. // The foreground color is DarkMagenta. // The foreground color is DarkYellow. // The foreground color is Gray. // The foreground color is DarkGray. // The foreground color is Blue. // The foreground color is Green. // The foreground color is Cyan. // The foreground color is Red. // The foreground color is Magenta. // The foreground color is Yellow. // The foreground color is White. // // All the background colors except White, the foreground color: // The background color is Black. // The background color is DarkBlue. // The background color is DarkGreen. // The background color is DarkCyan. // The background color is DarkRed. // The background color is DarkMagenta. // The background color is DarkYellow. // The background color is Gray. // The background color is DarkGray. // The background color is Blue. // The background color is Green. // The background color is Cyan. // The background color is Red. // The background color is Magenta. // The background color is Yellow. // // Original colors restored.
open System // Get an array with the values of ConsoleColor enumeration members. let colors = ConsoleColor.GetValues() // Save the current background and foreground colors. let currentBackground = Console.BackgroundColor let currentForeground = Console.ForegroundColor // Display all foreground colors except the one that matches the background. printfn $"All the foreground colors except , the background color:" for color in colors do if color <> currentBackground then Console.ForegroundColor ." printfn "" // Restore the foreground color. Console.ForegroundColor , the foreground color:" for color in colors do if color <> currentForeground then Console.BackgroundColor ." // Restore the original console colors. Console.ResetColor() printfn "\nOriginal colors restored. " //The example displays output like the following: // All the foreground colors except DarkCyan, the background color: // The foreground color is Black. // The foreground color is DarkBlue. // The foreground color is DarkGreen. // The foreground color is DarkRed. // The foreground color is DarkMagenta. // The foreground color is DarkYellow. // The foreground color is Gray. // The foreground color is DarkGray. // The foreground color is Blue. // The foreground color is Green. // The foreground color is Cyan. // The foreground color is Red. // The foreground color is Magenta. // The foreground color is Yellow. // The foreground color is White. // // All the background colors except White, the foreground color: // The background color is Black. // The background color is DarkBlue. // The background color is DarkGreen. // The background color is DarkCyan. // The background color is DarkRed. // The background color is DarkMagenta. // The background color is DarkYellow. // The background color is Gray. // The background color is DarkGray. // The background color is Blue. // The background color is Green. // The background color is Cyan. // The background color is Red. // The background color is Magenta. // The background color is Yellow. // // Original colors restored.
Public Module Example Public Sub Main() ' Get an array with the values of ConsoleColor enumeration members. Dim colors() As ConsoleColor = ConsoleColor.GetValues(GetType(ConsoleColor)) ' Save the current background and foreground colors. Dim currentBackground As ConsoleColor = Console.BackgroundColor Dim currentForeground As ConsoleColor = Console.ForegroundColor ' Display all foreground colors except the one that matches the background. Console.WriteLine("All the foreground colors except , the background color:", currentBackground) For Each color In colors If color = currentBackground Then Continue For Console.ForegroundColor = color Console.WriteLine(" The foreground color is .", color) Next Console.WriteLine() ' Restore the foreground color. Console.ForegroundColor = currentForeground ' Display each background color except the one that matches the current foreground color. Console.WriteLine("All the background colors except , the foreground color:", currentForeground) For Each color In colors If color = currentForeground then Continue For Console.BackgroundColor = color Console.WriteLine(" The background color is .", color) Next ' Restore the original console colors. Console.ResetColor Console.WriteLine() Console.WriteLine("Original colors restored. ") End Sub End Module 'The example displays output like the following: ' The background color is DarkCyan. ' The background color is DarkRed. ' The background color is DarkMagenta. ' The background color is DarkYellow. ' The background color is Gray. ' The background color is DarkGray. ' The background color is Blue. ' The background color is Green. ' The background color is Cyan. ' The background color is Red. ' The background color is Magenta. ' The background color is Yellow. ' ' Original colors restored.
Комментарии
Изменение свойства влияет только на выходные BackgroundColor данные, записываемые в отдельные символьные ячейки после изменения цвета фона. Чтобы изменить цвет фона окна консоли в целом, задайте BackgroundColor свойство и вызовите Clear метод . Ниже приведен пример.
using System; public class Example < public static void Main() < WriteCharacterStrings(1, 26, true); Console.MoveBufferArea(0, Console.CursorTop - 10, 30, 1, Console.CursorLeft, Console.CursorTop + 1); Console.CursorTop = Console.CursorTop + 3; Console.WriteLine("Press any key. "); Console.ReadKey(); Console.Clear(); WriteCharacterStrings(1, 26, false); >private static void WriteCharacterStrings(int start, int end, bool changeColor) < for (int ctr = start; ctr > >
open System let writeCharacterStrings start end' changeColor = for i = start to end' do if changeColor then Console.BackgroundColor enum Console.WriteLine(String(char (i + 64), 30)) writeCharacterStrings 1 26 true Console.MoveBufferArea(0, Console.CursorTop - 10, 30, 1, Console.CursorLeft, Console.CursorTop + 1) Console.CursorTop ignore Console.Clear() writeCharacterStrings 1 26 false
Module Example Public Sub Main() WriteCharacterStrings(1, 26, True) Console.MoveBufferArea(0, Console.CursorTop - 10, 30, 1, Console.CursorLeft, Console.CursorTop + 1) Console.CursorTop = Console.CursorTop + 3 Console.WriteLine("Press any key. ") : Console.ReadKey() Console.Clear() WriteCharacterStrings(1, 26, False) End Sub Private Sub WriteCharacterStrings(start As Integer, _end As Integer, changeColor As Boolean) For ctr As Integer = start To _end If changeColor Then Console.BackgroundColor = CType((ctr - 1) Mod 16, ConsoleColor) End If Console.WriteLine(New String(Convert.ToChar(ctr + 64), 30)) Next End Sub End Module
Операция получения для приложения windows, в котором консоль не существует, возвращает .ConsoleColor.Black Системы Unix не предоставляют общий механизм для получения текущих цветов консоли. Поэтому возвращает значение (ConsoleColor)-1 , BackgroundColor пока не будет задано явным образом (с помощью метода задания).
Цветовое оформление консольного вывода
Кратко о том, как сделать для своей консольной программы или скрипта цветной вывод текста, а также дополнить его другими элементами оформления. Собственно, назначить можно цвет текста, цвет фона под ним, сделать текст жирным, подчеркнутым, невидимым и даже мигающим.
Шаблон для использования в современных командных оболочках и языках программирования таков: \x1b[. m. Это ESCAPE-последовательность, где \x1b обозначает символ ESC (десятичный ASCII код 27), а вместо «. » подставляются значения из таблицы, приведенной ниже, причем они могут комбинироваться, тогда нужно их перечислить через точку с запятой.
| атрибуты | |
| 0 | нормальный режим |
| 1 | жирный |
| 4 | подчеркнутый |
| 5 | мигающий |
| 7 | инвертированные цвета |
| 8 | невидимый |
| цвет текста | |
| 30 | черный |
| 31 | красный |
| 32 | зеленый |
| 33 | желтый |
| 34 | синий |
| 35 | пурпурный |
| 36 | голубой |
| 37 | белый |
| цвет фона | |
| 40 | черный |
| 41 | красный |
| 42 | зеленый |
| 43 | желтый |
| 44 | синий |
| 45 | пурпурный |
| 46 | голубой |
| 47 | белый |
Теперь несколько примеров. Все это можно опробовать, введя в консольном окне echo -e «текст примера» .
| Ввод | Результат |
| \x1b[31mTest\x1b[0m | ![]() |
| \x1b[37;43mTest\x1b[0m | ![]() |
| \x1b[4;35mTest\x1b[0m | ![]() |
Обратите внимание, что во всех трех случаях после слова Test идет последовательность \x1b[0m, которая просто сбрасывает стиль оформления на стандартный.
Комплексный пример использования:
| \x1b[1;31mСтрока\x1b[0m с \x1b[4;35;42mразными\x1b[0m \x1b[34;45mстилями\x1b[0m \x1b[1;33mоформления\x1b[0m |
![]() |
Хорошая раскраска вывода часто значительно облегчает восприятие информации. Так что пробуйте и экспериментируйте.
P.S. Также об этом и некотором другом можно прочитать в man console_codes . Спасибо Riateche за подсказку.



