Powershellのフォーマット文字列

フォーマット文字列で埋め込みを実現する

Powershellでは文字列を埋め込むテンプレートの仕組みを用意している。

  • サンプルコード
$formatString = "{0,8:D4}  {1:C}"
$formatString -f 50,2.5677
$formatString -f 3,9
  • 出力結果
0050  $2.57
0003  $9.00
  • 解説

上で定義したformatStringは{}ないに好きな文字を好きな形式で代入できる。

  • $formatString = "{0,8:D4} {1:C}"{0,8:D4}0番目の代入を、8文字の長さの右揃えで、4桁のD(整数を表す)で表示されるという意味である。formatString -f 50,2.5677であれば、-fの後の50に値する。 そしてその出力は0050 $2.5となる。
  • 二つ目の{1:C}1番目の代入を、C(Coin、通貨)形式で表す。という意味である。

別の例

以下の例では割り算の結果をフォーマット文字列として出力している。

$number1 = 10
$number2 = 32
"{0} divided by {1} is {2}" -f $number2, $number1, ($number2 / $number1)

実行結果

32 divided by 10 is 3.2

zenn.dev