![为什么运行 PowerShell 会改变我的控制台字体?](https://linux22.com/image/1395084/%E4%B8%BA%E4%BB%80%E4%B9%88%E8%BF%90%E8%A1%8C%20PowerShell%20%E4%BC%9A%E6%94%B9%E5%8F%98%E6%88%91%E7%9A%84%E6%8E%A7%E5%88%B6%E5%8F%B0%E5%AD%97%E4%BD%93%EF%BC%9F.png)
我的笔记本电脑出现了一个奇怪的问题——当我在现有控制台窗口中运行 Powershell 时,窗口的字体选择会发生变化。
例如,这是打开窗口后立即运行的cmd.exe:
使用的字体、窗口大小和颜色是正确的 - 字体是 16pt 的 Lucida Console。
然后我运行PowerShell
,结果如下:
字体已更改为 12x16 像素的“光栅字体”!其他窗口属性 - 颜色、行数、列数 - 均保持不变。
知道它为什么会切换吗?
注意:在研究这个问题时 - 因为 Raster Font 太丑了,让我很烦 - 我发现其他人报告在设置 powershell 控制台窗口的字体时出现问题(例如问题“无法将 powershell 默认字体更改为 Lucida Console“)。虽然我的问题不同(因为我是从现有控制台窗口启动 Powershell,而不是从开始屏幕启动),但我认为一个解决方案可能会对另一个解决方案有所帮助。
答案1
对我来说,这是因为批处理文件在里面UTF-8
(需要它来处理重音和特殊字符)。我所做的是在启动之前
将代码页更改为437
电源外壳命令。
chcp 437 > nul
Powershell.exe -executionpolicy unrestricted -File X:\Scripts.ps1
答案2
我遇到了完全相同的问题,这让我很抓狂。以下是我纠正它的方法,希望它也能对你有用:
在 cmd.exe 中,运行 powershell 命令。
在 cmd.exe 中的 powershell 提示符下,转到设置并将字体更改为 Lucida Console。
退出 powershell 提示符,仍在 cmd.exe 中,转到设置并将字体更改为 Lucida Console。
为了采取更好的措施,作为一个额外的步骤,我
start powershell
从 cmd.exe 运行并在那里更改了字体。现在我的强迫症终于可以休息了,我笑了。现在当我转到开始 -> 运行 -> cmd.exe 并使用 powershell 命令时,它会停留在 Lucida 控制台。
我重新启动了计算机并重新打开了所有内容,到目前为止,它似乎对我有帮助。
我希望这对你的探索有所帮助=)