程序运行时 Windows 更改特定控制台颜色

程序运行时 Windows 更改特定控制台颜色

是否有命令可以运行,以便在运行时将命令行中的单一颜色更改为其他颜色?例如,我可以通过右键单击 cmd.exe,进入“属性”下的颜色选项卡,然后在那里更改颜色来更改颜色,但这会使颜色永久生效。如果我想在程序运行时更改它,我该怎么做?

例如,假设我想在满足特定条件后将下面的深黄色更改为橙​​色。我该怎么做?

在此处输入图片描述

批处理文件或 powershell 脚本可以作为示例。

答案1

您可以使用 颜色命令

句法 :

  COLOR [background][foreground]

颜色属性由以下 2 个十六进制数字指定。两个颜色数字之间不应有空格。

每位数字可以是下列任意值:

0 = Black
8 = Gray

1 = Blue
9 = Light Blue

2 = Green
A = Light Green

3 = Aqua
B = Light Aqua

4 = Red
C = Light Red

5 = Purple
D = Light Purple

6 = Yellow
E = Light Yellow

7 = White
F = Bright White

例如,要将屏幕设置为黄底黑字,请使用:

color 60

这些更改仅限于当前 CMD 会话。


如果你希望对文本颜色进行局部更改,你应该使用 ANSI 转义码

有关详细信息,请参阅:

答案2

这很容易!

正如您在此批处理文件代码中所看到的:

@echo off

Powershell -command "Write-Host 'I'm Printed in RED!' -ForegroundColor Red"

@pause

write-host命令打印出一段文本,并将ForegroundColor 文本颜色设置为(在本例中)红色。最好的部分是,您可以将特定的气味/单词甚至字母更改为另一种颜色!

您甚至可以将此 powershell 代码添加到 CMD 或批处理文件中,它就可以起作用。

编辑:如果您想在满足条件时改变颜色,那么您可以这样做:

@echo off
 
::Your condition here
::Eg: if %errorlevel%==1 (goto :change)

:: more code here

exit

:change 
Powershell -command "Write-Host 'this is yellow becoz errorlevel was 1' -ForegroundColor Yellow"

@pause

^^以上代码仅为示例代码,不适用,请根据需要进行修改以使其适用^^

注意:此脚本在输出单词之前大约需要 2 秒的延迟(就我而言),因为它必须调用 Powershell 并等待响应。

希望这有帮助!❤️

相关内容