【PowerShell】条件分岐を使ってみた~こんなこともできるぞ~

どうも!リョクちゃです。

今回は、PowerShellで入力値に基づいて処理を分岐させる、いわゆる条件分岐について、

コードを書いて、紹介していきます。

プログラミングにおいては、基本中の基本となるところであり、

割と行き詰まってしまうところでもあります。

if文

一般的にプログラミング言語において条件分岐は、if文という文法で

表されており、if文の中に条件式を記述することで、処理を分岐させることができます。

スポンサーリンク




if文の構文

PowerShellにおけるif文の構文は、以下に示される形となります。

条件式の結果が満たされるのであれば、処理が行われます。一方で条件式の結果が満たされない場合は、処理が行われません。

例えば、整数の1が2よりも小さい場合には、処理としてHello Worldと返すといった動作を行わせたい場合、

一方で、整数の1が2よりも小さくなかった場合(本来ありえないですが。。。)に処理を

行わせたいときは、以下の構文を利用します。

構文に則って記述すると、

となります。

PowerShellでは、以上のようにしてif文を記述することで、

条件式によって処理を分岐することができます。

複数の条件がある場合については、以下の記事でもまとめているのでご参照ください。

条件が複数ある時、ひたすらif文を書いてはいませんか?条件が多くなるにつれて書いていくと複雑に且つわかりづらくなってきますよね。そんな時に使えるSwitch文について簡単に例を出しながら紹介しています。参考になれば嬉しいです。

条件式で使われる主な比較演算子

条件式の中で用いられる比較演算子には、主に以下の表にて示される演算子を記述することで、式の判定ができます。

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で条件分岐を記述することってあまりないかと思いますが、

スクリプトを作成して、定常処理を自動的に処理をさせたいときなどに使える時が来るので、

参考にしていただけたらと思います。

最後までお読みいただき、ありがとうございます。

Windows PowerShell実践システム管理ガイド 第3版 マイクロソフト関連書

Windows PowerShell実践システム管理ガイド 第3版 マイクロソフト関連書

横田 秀之, 河野 憲義
3,971円(02/05 20:22時点)
発売日: 2017/10/20
Amazonの情報を掲載しています

スポンサーリンク