2016-12-30 5 views
0

Я выполняю exe-файл из командного файла. Это запускает приложение Windows. Каждый раз, когда я делаю некоторую активность в приложении, журнал печатается в командной строке пакета. Я хотел бы выделить конкретный текст в журнале с цветами, чтобы я мог точно определить бэкэнд-активность. Как мне это сделать?Изменить цвет шрифта для журнала пакетных файлов

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

cd C:\[Exe file location] 
C:\[Exe File] 
pause 
+3

Возможный дубликат [Как эхо с различными цветами в командной строке Windows] (http://stackoverflow.com/questions/2048509/how-to-echo-with-different-colors-in-the -windows-command-line) –

+1

Взгляните на это ==> http://stackoverflow.com/questions/41309768/batch-file-to-run-ping-command-and-output-to-text-aswell/ 41316112 # 41316112 – Hackoo

ответ

0

Вы можете создать собственную команду эха.

Поместите следующие строки в файл с именем ColourText.bas на рабочем столе.

Imports System 
Imports System.IO 
Imports System.Runtime.InteropServices 
Imports Microsoft.Win32 

Public Module MyApplication 
Public Declare Function GetStdHandle Lib "kernel32" Alias "GetStdHandle" (ByVal nStdHandle As Long) As Long 
Public Declare Function SetConsoleTextAttribute Lib "kernel32" Alias "SetConsoleTextAttribute" (ByVal hConsoleOutput As Long, ByVal wAttributes As Long) As Long 
Public Const STD_ERROR_HANDLE = -12& 
Public Const STD_INPUT_HANDLE = -10& 
Public Const STD_OUTPUT_HANDLE = -11& 

Sub Main() 
    Dim hOut as Long 
    Dim Ret as Long 
    Dim Colour As Long 
    Dim Colour1 As Long 
    Dim Text As String 
    hOut = GetStdHandle(STD_OUTPUT_HANDLE) 
    Colour = CLng("&h" & Split(Command(), " ")(0)) 
    Colour1 = Clng("&h" & Split(Command(), " ")(1)) 
    Text = Mid(Command(), 7) 
    Ret = SetConsoleTextAttribute(hOut, Colour) 
    Console.Out.WriteLine(text) 
    Ret = SetConsoleTextAttribute(hOut, Colour1) 
End Sub 
End Module 

Сохраните его и введите в командной строке следующее.

"C:\Windows\Microsoft.NET\Framework\v4.0.30319\vbc.exe" /target:exe /out:"%userprofile%\desktop\ColourText.exe" "%userprofile%\desktop\ColourText.bas" /verbose 

Файл с именем ColourText.exe появится на вашем рабочем столе. Переместите его в папку Windows.

Для использования вы должны использовать два символьных кода для установки цвета, например 01 не 1.

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

ColourText F1 F1 
ColourText F2 71 This is green on white 

или

ColourText F1 F1 
cls 
ColourText F4 F4 
Echo Hello 
Echo Hello today 
ColourText F1 F1 

Также команда CLS становится интересным. Color команда без параметров сбрасывает все цвета в цвета запуска.

Чтобы получить код цвета, добавьте следующие номера вместе. Используйте калькулятор в режиме программистов. Это шестнадцатеричные числа. Они могут быть добавлены вместе, например, Red + Blue + FG Intensity = 13 = D. Поскольку 10+ не использовался, фон будет черным. Цветовые коды ДОЛЖНЫ быть двумя символами, например 08 не 8.

FOREGROUND_RED = &H4  ' text color contains red. 
FOREGROUND_INTENSITY = &H8  ' text color is intensified. 
FOREGROUND_GREEN = &H2  ' text color contains green. 
FOREGROUND_BLUE = &H1  ' text color contains blue. 
BACKGROUND_BLUE = &H10 ' background color contains blue. 
BACKGROUND_GREEN = &H20 ' background color contains green. 
BACKGROUND_INTENSITY = &H80 ' background color is intensified. 
BACKGROUND_RED = &H40 ' background color contains red. 
Смежные вопросы