about_ANSI_Terminals

簡単な説明

Windows PowerShell で ANSI エスケープ シーケンスで使用できるサポートについて説明します。

長い説明

新しいバージョンの PowerShell とは異なり、Windows PowerShell 5.1 エンジンとコア コマンドレットでは、画面に表示されるテキストを書式設定するための ANSI エスケープ シーケンスは出力されません。 ただし、これをサポートするターミナルでテキストの書式設定に ANSI エスケープ シーケンスを使用することはできません。

ANSI ターミナルのサポート

Windows 10 以降では、Windows コンソール ホストは xterm 互換性があります。 Windows ターミナル アプリケーションも xterm 互換です。 これらのターミナルは、ANSI エスケープ シーケンスをサポートします。

PSReadLine モジュールでは、ANSI シーケンスを使用して、コマンド ラインで PowerShell 構文要素を色付けします。 色は、 Get-PSReadLineOption および Set-PSReadLineOption を使用して管理できます。

既定の色は、背景が暗いターミナルで使用するために選択されました。 環境に必要な色を変更できます。 詳細については、「 シェル エクスペリエンスのカスタマイズ」を参照してください。

出力のリダイレクト

ANSI エスケープ シーケンスで修飾された出力の作成には注意する必要があります。 書式設定は、ターミナルでの表示を目的としています。 その出力を別のコマンドにパイプ処理したり、出力をファイルにリダイレクトしたりすると、出力には ANSI エスケープ シーケンスが含まれます。 この書式設定は、パイプラインのダウンストリーム コマンドで認識されない場合や、出力ファイルに正しくレンダリングされない場合があります。

PowerShell 7.2 以降では、リダイレクト時に ANSI 装飾が削除され、ANSI エスケープ シーケンスの使用を容易にするツールが提供されます。