为什么运行PowerShell会更改我的控制台字体?


15

我的笔记本电脑上有一个奇怪的问题 - 当我在现有的控制台窗口中运行Powershell时,窗口的字体选择会发生变化。

例如,打开窗口后立即显示cmd.exe: 命令控制台打开时

使用的字体,窗口大小和颜色是正确的 - 字体是16pt的Lucida Console。

然后,我跑PowerShell,这是结果:

在此输入图像描述

字体已更改为12个像素的“光栅字体”!其他窗口属性 - 颜色,行数,列数 - 保持不变。

知道为什么要切换吗?

注意:在研究这个时 - 因为Raster字体非常丑陋并且它让我感到烦恼 - 我发现其他人报告设置powershell控制台窗口字体的问题(例如问题“ 无法将powershell默认字体更改为Lucida控制台 ”)。虽然我的问题不同(因为我从现有的控制台窗口启动Powershell,而不是从开始屏幕开始),我怀疑一个解决方案可能会帮助另一个。


你可以使用ConEmu并完全避免这个问题。
dangph 2014年

@ChrisLively啊我没有意识到答案只是今天发布的。出于某种原因,我认为它更老了。我会删除我的评论。
barlop 2014年

Answers:


2

我遇到了完全相同的问题,这让我疯了。以下是我为纠正它所做的工作,希望它也适合你:

1.)在cmd.exe中,运行powershell命令。

2.)在cmd.exe中的powershell提示符下,转到设置并将字体更改为Lucida Console。

3.)退出powershell提示符,同时仍在cmd.exe中转到设置并将字体更改为Lucida Console。

4.)作为一个额外的步骤,我start powershell从cmd.exe 运行并在那里更改了字体。

5.)现在我的强迫症能够休息了。现在当我去start-> run-> cmd.exe并使用powershell命令时,它会停留在Lucida Console。

我重新启动计算机并重新打开所有内容,到目前为止它似乎一直在为我而坚持。

我希望这可以帮助你完成你的任务=)


1
非常感谢您的建议 - 但它对我的笔记本电脑没有任何影响。:-(
Bevan

1

这是FYI,至少在它帮助任何人快速解决的情况下。这可能无法回答为什么,但它提供了一种方法,可以根据需要或根据需要快速修复或修复快速前进。

转到TechNet SetConsoleFont并查看其中的详细信息,然后按照以下说明查看下面的资源部分。

这是SetConsoleFont模块的用武之地。在使用Set-ConsoleFont cmdlet之前,必须导入模块。首先,将模块复制到本地编辑器。请注意,当我复制文本时,最后一行有一个不需要的换行符。确保模块的最后一行如下所示:

Export-ModuleMember -Variable _DefaultFont, _hConsoleScreen -Function Set-ConsoleFont, Get-ConsoleFontInfo

接下来,您必须将文件存储在模块文件夹中。使用PowerShell控制台上的$ env:PSModulePath,您可以获得模块文件夹的列表。例如,您可以使用文件名SetConsoleFont.psm1将SetConsoleFont模块存储在Documents目录的PowerShell模块文件夹中,如下所示:

%USERPROFILE%\Documents\WindowsPowerShell\Modules\SetConsoleFont\SetConsoleFont.psm1

然后,您可以导入模块:

Import-Module SetConsoleFont

您现在可以使用以下命令获取可用字体及其尺寸的列表:

Get-ConsoleFontInfo | Format-Table -AutoSize

要设置字体大小,您必须从nFont列中选择一个数字:

Set-ConsoleFont 8

要将字体大小更改为默认值,可以在不带参数的情况下运行Set-ConsoleFont

资源

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.