0..15 | %{ Write--6ren">
gpt4 book ai didi

windows - 为什么 PowerShell 无法正确显示 "DarkYellow"文本?

转载 作者:可可西里 更新时间:2023-11-01 12:27:19 24 4
gpt4 key购买 nike

我正在使用 Write-Host cmdlet 更改提示的颜色,我注意到 DarkYellow 颜色没有显示为任何黄色,但是作为一个灰色!这是所有颜色的测试

PS> 0..15 | %{ Write-Host "Hello, world!" -ForegroundColor $_ }

我使用错误的值得到了所有枚举值的列表

PS> Write-Host "Hello, World!" -ForegroundColor foo

Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White

我意识到这个“控制台颜色”列表在某种程度上对应于这个控制台窗口/快捷方式的设置,对吧?所以,DarkYellow 将是第 7 个,它看起来确实是灰色的。

enter image description here

ForegroundColorSystem.ConsoleColor 和这些控制台快捷方式设置之间有什么联系?为什么深黄色显示为灰色“开箱即用”?我应该改变它吗?这会改变我系统上的每个控制台还是只改变这个快捷方式?

为什么控制台在 Windows 上如此挑剔?!


我使用的是 Windows 7 Pro SP1 64 位系统,我正在从“开始”菜单启动“Windows PowerShell”快捷方式。

最佳答案

Lee Holmes 的博文,PowerShell's Noble Blue ,稍微讨论了一下,但实际上并没有解释为什么更改 DarkYellow。很可能默认的 DarkYellow 与蓝色背景不可读。

正如您可能已经发现的那样 - System.ConsoleColor 的名称有点错误,因为它实际上并未指定颜色,它指定了颜色表中的索引,可以通过快捷方式修改该索引。不幸的是,这是控制台子系统的一个限制。

如果您更改快捷方式 PowerShell.lnk,您将仅为自己更改颜色,并且仅当您从该链接启动 PowerShell 时。如果您使用开始 |运行,或者说运行 cmd,然后从 cmd 运行 PowerShell,您将获得不同的设置。

Lee 的博文应该会为您提供足够的提示,以实现您喜欢的行为。

关于windows - 为什么 PowerShell 无法正确显示 "DarkYellow"文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21941606/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com