web-dev-qa-db-ja.com

PowerShellを実行するとコンソールフォントが変更されるのはなぜですか?

ラップトップで奇妙な問題が発生しました。既存のコンソールウィンドウ内でPowershellを実行すると、ウィンドウのフォントの選択が変わります。

たとえば、これはウィンドウを開いた直後のcmd.exeです。 command console when opened

使用されているフォント、ウィンドウサイズ、色は正しいです。フォントは16ptのLucidaConsoleです。

次に、PowerShellを実行すると、次の結果が得られます。

enter image description here

フォントが12x16ピクセルの「ラスターフォント」に変更されました。その他のウィンドウプロパティ(色、行数、列数)は変更されていません。

なぜ切り替わるのか考えてみませんか?

注:これを調査していると、ラスターフォントがひどく醜くてバグがあるため、PowerShellコンソールウィンドウのフォント設定の問題を報告している人がいます(質問 " PowerShellのデフォルトフォントをLucidaコンソールに変更できません) ")。私の問題は異なりますが(スタート画面からではなく、既存のコンソールウィンドウからPowershellを起動しているため)、一方の解決策がもう一方の解決策になるのではないかと思います。

17
Bevan

私はまったく同じ問題を抱えていました、そしてそれは私を狂わせていました。これが私がそれを修正するためにしたことです、うまくいけばそれはあなたのためにも働くでしょう:

1.)cmd.exeで、powershellコマンドを実行します。

2.)cmd.exeのPowerShellプロンプトで、設定に移動し、フォントをLucidaConsoleに変更します。

3.)PowerShellプロンプトを終了し、cmd.exeのままで設定に移動し、フォントをLucidaConsoleに変更します。

4.)適切な対策のための追加の手順として、cmd.exeからstart powershellを実行し、そこでフォントも変更しました。

5.)私のOCDが休むことができるようになった今、微笑んでください。ここで、start-> run-> cmd.exeに移動し、powershellコマンドを使用すると、Lucidaコンソールにとどまります。

私はコンピュータを再起動してすべてを再開しました、そして今のところそれは私のために固執しているようです。

これがあなたの探求に役立つことを願っています=)

2
Ozzy S

これは、少なくとも誰かが迅速に解決するのに役立つ場合に備えて、FYIです。これは理由に答えないかもしれませんが、必要に応じて、または必要に応じて、迅速に修正または修正する方法を提供します。

TechNet SetConsoleFont に移動し、そこで詳細を確認してから、以下の手順に従って、以下のリソースセクションも確認してください。

これがSetConsoleFontモジュールの出番です。Set-ConsoleFontコマンドレットを使用する前に、モジュールをインポートする必要があります。まず、モジュールをローカルエディタにコピーします。テキストをコピーしたとき、最後の行に不要な改行があったことに注意してください。モジュールの最後の行が次のようになっていることを確認してください。

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

次に、ファイルをモジュールフォルダに保存する必要があります。 PowerShellコンソールの$ env:PSModulePathを使用すると、モジュールフォルダーのリストを取得できます。たとえば、次のように、ファイル名SetConsoleFont.psm1を使用して、ドキュメントディレクトリのPowerShellモジュールフォルダーにSetConsoleFontモジュールを保存できます。

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

次に、次のコマンドでモジュールをインポートできます。

Import-Module SetConsoleFont

これで、使用可能なフォントとそのサイズのリストを次のコマンドで取得できます。

Get-ConsoleFontInfo | Format-Table -AutoSize

フォントサイズを設定するには、nFont列から数値を選択する必要があります。

Set-ConsoleFont 8

フォントサイズをデフォルトに変更するには、引数なしでSet-ConsoleFontを実行できます

[〜#〜]リソース[〜#〜]

2
Pimp Juice IT

そのためにgithubでいくつかの未解決の問題を見つけました。そこにあるコメントのおかげで、私に役立つクイックフィックスを見つけました。開始フォントをConsolasからLucida Consoleに変更することです。私はそれが奇妙であることを知っていますが、それは機能します⁽ᵀᴹ⁾。

0
AmokHuginnsson