【发布时间】:2014-03-23 09:23:18
【问题描述】:
我正在使用Write-Host cmdlet 更改提示的颜色,我注意到DarkYellow 颜色没有显示为任何黄色,而是显示为灰色!这是所有颜色的测试
PS> 0..15 | %{ Write-Host "Hello, world!" -ForegroundColor $_ }
我通过使用错误值得到了所有枚举值的列表
PS> Write-Host "Hello, World!" -ForegroundColor foo
黑色、深蓝色、深绿色、深青色、深红色、深品红色、深黄色、灰色、深灰色、蓝色、绿色、青色、红色、品红色、黄色、白色
我意识到这个“控制台颜色”列表在某种程度上对应于这个控制台窗口/快捷方式的设置,对吧?所以,DarkYellow 将是第 7 个,它看起来肯定是灰色的。
ForegroundColor、System.ConsoleColor 和这些控制台快捷方式设置有什么联系?为什么深黄色显示为灰色“开箱即用”?我应该改变它吗?这会改变我系统上的每个控制台还是只改变这个快捷方式?
为什么控制台在 Windows 上如此复杂?!
我使用的是 64 位 Windows 7 Pro SP1,我正在从“开始”菜单启动“Windows PowerShell”快捷方式。
【问题讨论】:
-
在 standard 控制台中对我来说一切正常。您使用什么 Windows 以及究竟是什么控制台?我在 Windows 7 上。在微软提供的 PowerShell 控制台中,两种颜色真的很糟糕。
-
以防万一,您可能会发现此脚本对使用控制台颜色很有用:github.com/nightroman/PowerShelf/blob/master/Show-Color.ps1
-
所以我认为您使用 Microsoft 的 PowerShell 控制台,并使用它们预定义的颜色。我会说这是一个缺陷(错误),您可以提交它here :)
-
我可能应该写一下新的颜色工具devblogs.microsoft.com/commandline/…
标签: windows powershell console shortcut