どうも!リョクちゃです。
今回は、PowerShellで入力値に基づいて処理を分岐させる、いわゆる条件分岐について、
コードを書いて、紹介していきます。
プログラミングにおいては、基本中の基本となるところであり、
割と行き詰まってしまうところでもあります。
目次
if文
一般的にプログラミング言語において条件分岐は、if文という文法で
表されており、if文の中に条件式を記述することで、処理を分岐させることができます。
if文の構文
PowerShellにおけるif文の構文は、以下に示される形となります。
1 2 3 4 5 |
if ( 条件式 ) { 処理 } |
条件式の結果が満たされるのであれば、処理が行われます。一方で条件式の結果が満たされない場合は、処理が行われません。
例えば、整数の1が2よりも小さい場合には、処理としてHello Worldと返すといった動作を行わせたい場合、
1 2 3 |
if ( 1 -lt 2 ) { Write-Host "Hello World" } |
一方で、整数の1が2よりも小さくなかった場合(本来ありえないですが。。。)に処理を
行わせたいときは、以下の構文を利用します。
1 2 3 4 5 |
if ( 条件式 ) { 処理 } else { 処理(条件式が成立しなかった場合) } |
構文に則って記述すると、
1 2 3 4 5 |
if ( 1 -lt 2 ) { Write-Host "Hello World" } else { Write-Host "Not Hello World" } |
となります。
PowerShellでは、以上のようにしてif文を記述することで、
条件式によって処理を分岐することができます。
複数の条件がある場合については、以下の記事でもまとめているのでご参照ください。
条件式で使われる主な比較演算子
条件式の中で用いられる比較演算子には、主に以下の表にて示される演算子を記述することで、式の判定ができます。
No | 比較演算子 | 意味 |
---|---|---|
1 | -eq, -ieq, -ceq | 等しい |
2 | -ne, -ine, -cne | 等しくない |
3 | -gt, -igt, -cgt | (左辺が右辺)より大きい |
4 | -ge, -ige, -cge | (左辺が右辺)以上 |
5 | -lt, -ilt, -clt | (左辺が右辺)より小さい |
6 | -le, -ile, -cle | (左辺が右辺)以下 |
7 | -like, -ilike, -clike | ワイルドカード(*)と等しい |
8 | -notlike, -inotlike, -cnotlike | ワイルドカード(*)と等しくない |
9 | -match, -imatch, -cmatch | 正規表現と等しい |
10 | -notmatch, -inotmatch, -cnotmatch | 正規表現と等しくない |
11 | -contains, -contains, -ccontains | コレクションに含まれている |
12 | -notcontains, -inotcontains, -cnotcontains | コレクションに含まれていない |
13 | -in | コレクションの中にある |
14 | -notin | コレクションの中にない |
まとめ
PowerShellにおいてif文を使った条件分岐をするには、を簡単にまとめてみました。
PowerShellで条件分岐を記述することってあまりないかと思いますが、
スクリプトを作成して、定常処理を自動的に処理をさせたいときなどに使える時が来るので、
参考にしていただけたらと思います。
最後までお読みいただき、ありがとうございます。