PowerShell 入門 switch文

PowerShellでswitch文を書く為のサンプルです。

switchの構文

switch(判定する変数)
{
    条件1 {
        ...(処理)
    }
    条件2 {
        ...(処理)
    }
    ...
    default {
        ...(処理)
    }
}

サンプル

①完全一致 文字の比較

$a = "hoge"
switch -Exact ($a) {
    "hhoge"  { "hhoge" }  # 一致しない
    "hhoge"  { "hhoge" }  # 一致しない
    "hhoge" { "hhoge" } # 一致しない
    "hoge"   { "hoge" }   # 一致する
}

Exactオプションは文字の比較の為、大文字・小文字の判断はしません。
大文字、小文字の判断をしたい場合⑤を確認してください。

実行例
1

②完全一致 数値の比較

$a = 123
switch -Exact ($a) {
    1  { "1と一致" }  # 一致しない
    2  { "2と一致" }  # 一致しない
    3 { "3と一致" } # 一致しない
    123   { "123と一致" }   # 一致する
}

実行例
2

➂一致しない場合

$a = 1234
switch -Exact ($a) {
    1  { "1と一致" }  # 一致しない
    2  { "2と一致" }  # 一致しない
    3 { "3と一致" } # 一致しない
    123   { "123と一致" }   # 一致しない
    default { "defalut" }   # 一致する
}

実行例
3

④ワイルドカードでの比較

$a = "hoge"
switch -Wildcard ($a) {
    "hhoge"  { "hhoge" }  # 一致しない
    "hhoge"  { "hhoge" }  # 一致しない
    "hhoge" { "hhoge" } # 一致しない
    "h?ge"   { "hoge" }   # 一致する
}

実行例
4

5大文字、小文字を区別

$a = "hoge"
switch -casesensitive ($a) {
    "HOGE"  { "hhoge" }  # 一致しない
    "hoge"   { "hoge" }   # 一致する
}

powershell記事一覧


Bookmark this on Yahoo Bookmark
Bookmark this on Google Bookmarks
Share on LinkedIn
LINEで送る
Pocket