hack のためのネタ帳, etc,,,

状況

PowerShell で ANSI escape sequences を使いたい。 によると、文字列中の「`」が C で言う所の「\」のような扱いになっているらしい。
ただし PowerShell 7 だと「`e」で ESC (0x1b) になるらしいのだが、PowerShell 5.1 では「`e」が使えない。
PowerShell 7 だとユニコード文字を「`u{x}」で使えるらしいのだが、これも 5.1 では使えない。

解決方法

PowerShell 文字 数値 ASCIIコード」でググったら
で以下のコードを見つけた。
PS C:\Work> $a = [byte][char]"a"
PS C:\Work> $a
97
これを参考に逆を試してみたら以下のようになった。
> [char]97
a

以上より、以下のようにすることで、エスケープシーケンスにより赤字で表示することが出来た。
> "$([char]27)[31mred$([char]27)[0m"
red

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Wiki内検索

フリーエリア

管理人/副管理人のみ編集できます