PowerShellコマンドレット虎の巻
HOME > PowerShell構文 > switch構文

switch構文

switch構文は、特定の式の値に基づいて多分岐を行いたい時に使用します。

解説

switch文は、特定の値に基づいて異なるコードブロックを実行するための制御構文です。

構文

(switch構文)
switch (<式>) { <値1> { <値1に一致する場合に実行するコード> } <値2> { <値2に一致する場合に実行するコード> } default { <いずれの値にも一致しない場合に実行するコード> } }

※switch文の各部分の詳細は以下です。

<式>
評価される対象の値です。通常、変数や計算式が使用されます。
<値x>
式の値と比較される値です。一致するケースのコードブロックが実行されます。

サンプル

switch文サンプル

$day = "Sunday" switch ($day) { "Saturday" { Write-Host "土曜日です。" } "Sunday" { Write-Host "日曜日です。" } default { Write-Host "平日です。" } }

(結果)

日曜日です。

ケース値に正規表現を使用したサンプル

$val = "test" switch -Regex ($val) { "^\d+$" { Write-Host "数値のみです。" } "^[a-zA-Z]+$" { Write-Host "アルファベットのみです。" } default { Write-Host "それ以外です。" } }

(結果)

アルファベットのみです。

備考

  • 大文字小文字は区別しないので、switch、Switch、SWITCHどのパターンで書いても問題ありません。
  • switch構文は、if構文でも記述することができます。

関連項目

  • PowerShell構文
  • if構文:条件分岐を行う
  • for構文:ループ処理を行う
  • foreach構文:コレクションの各要素に対して処理を行う
  • switch構文:特定の式の値に基づいて多分岐を行う
  • while構文:特定の条件が満たされている間、繰り返し処理を行う
  • do-while構文:少なくとも一度はループ内の処理を実行することを保証する