switch 文を利用した条件分岐処理 - PowerShell

PowerShellでswitch文を使った条件分岐処理を紹介します。

書式

switch(判定する変数)
{
  条件1 {
    ...(処理)
    }
  条件2 {
    ...(処理)
    }
  ...
  default {
    ...(処理)
    }
}
「判定する変数」の値を条件にて判定し、条件と一致する場合は条件の後のブロックを実行します。どの条件にも当てはまらなかった場合は、default:ブロック内の処理を実行します。

例1

文字列を条件にした場合のコード例です。

コード

$input = Read-Host "動物の名前を入力してください"

switch($input)
{
  "penguin" {Write-Output ("ペンギンが入力されました。")}
  "dog" {Write-Output ("犬が入力されました。")}
  "cat" {Write-Output ("猫が入力されました。")}
  "bear" {Write-Output ("くまが入力されました。")}
  default {Write-Output ("登録されている以外の名前が入力されました。")}
}

実行結果

スクリプトを実行します。入力メッセージ("動物の名前を入力してください")が表示され、下図の画面の状態になります。


入力をします。今回は"bear"を入力しました。入力後[Enter]キーを押すと結果が表示されます。



例2

数値を条件にした場合のコード例です。

コード

$input = Read-Host "数値を入力してください"

$number = [int]$input

switch($number)
{
  1 {Write-Output ("一が入力されました。")}
  2 {Write-Output ("二が入力されました。")}
  3 {Write-Output ("三が入力されました。")}
  4 {Write-Output ("四が入力されました。")}
  5 {Write-Output ("五が入力されました。")}
  default {Write-Output ("登録されている以外の数値が入力されました。")}
}

実行結果

スクリプトを実行します。数値を入力する旨のメッセージが表示され、入力待ちになります。


数値を入力すると入力した数値に対するメッセージが表示されます。




switchの条件文に記述されていない数値の場合はdefaultブロックが実行されます。


著者
iPentecのプログラマー、最近はAIの積極的な活用にも取り組み中。
とっても恥ずかしがり。
最終更新日: 2023-12-08
作成日: 2013-09-27
iPentec all rights reserverd.