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