SEブログ
【PowerShell】色々な比較演算子を使ってみる
こんにちは!
比較演算子を整理してみましたので使い方も含めて書いてみました。
PowerShell に関係なく、これらはプログラミングの条件式でよく使いますので、覚えておくとよいでしょう。
目次
スポンサーリンク
比較演算子一覧
演算子名 | 説明 |
---|---|
-eq | ~と等しい |
-ceq | ~と等しいか比較(大文字小文字を区別する) |
-lt | ~より小さい (<) |
-le | ~以下 (<=) |
-gt | ~より大きい (>) |
-ge | ~以上 (>=) |
-like | ワイルドカードによる比較 |
-notlike | ワイルドカードによる比較 |
-contains | 配列に~が含まれる |
-notcontains | 配列に~が含まれない |
-match | 正規表現による比較 |
-notmatch | 正規表現による比較 |
スポンサーリンク
使い方
-eq
左辺が右辺の値と等しいかを比較します。
結果は True か False で返します。
PS C:\> 100 -eq 100 True
PS C:\> "ABC" -eq "ABC" True
PS C:\> 100 -eq 200 False
左辺の 100 を文字列にしてみましたが、True で返ってきます。文字列でも値が同じであれば True を返します。
PS C:\> "100" -eq 100 True
左辺が右辺の大文字・小文字が一致していなくても True を返します。
PS C:\> "ABC" -eq "abc" True
-ceq
左辺が右辺の文字列のアルファベットの大文字・小文字と一致しているか比較します。
結果は True か False で返します。
PS C:\> "ABC" -ceq "abc" False
-lt
左辺が右辺より小さいかどうかを比較します。
結果は True か False で返します。(単数の場合)
PS C:\> 10 -lt 200 True
-le
左辺が右辺以下かどうかを比較します。
結果は単数の場合は True か False で返します。
複数の場合は、該当する値を返します。
値が単数の場合
PS C:\> 10 -le 100 True
値が複数の場合
PS C:\> 10, 20, 300 -le 200 10 20
-gt
左辺が右辺より大きいかどうかを比較します。
結果は True か False で返します。(単数の場合)
PS C:\> 100 -gt 10 True
-ge
左辺が右辺以上かどうかを比較します。
結果は単数の場合は、 True か False で返します。
複数の場合は、該当する値を返します。
値が単数の場合
PS C:\> 100 -ge 100 True
値が複数の場合
PS C:\> 10, 200 -ge 100 200
-like
ワイルドカード( * )を使い、左辺が右辺の文字列の値と一致するか比較します。
右辺にワイルドカード( * )を使います。
結果は True か False で返します。
PS C:\> "PowerShell" -like "*shell" True
大文字・小文字の区別も比較したい場合は -clike を使います。
PS C:\> "PowerShell" -clike "*shell" False
-notlike
ワイルドカード( * )を使い、左辺が右辺の文字列の値と一致しないか比較します。
右辺にワイルドカード( * )を使います。
結果は True か False で返します。
PS C:\> "PowerShell" -notlike "*ps" True
-contains
配列に -contains で指定した文字列が入っているか確認します。
結果は True か False で返します。
PS C:\> "PowerShell", "VB", "DOS" -contains "PowerShell" True
-notcontains
配列に -contains で指定した文字列が入っていないか確認します。
結果は True か False で返します。
PS C:\> "C", "Java", "PHP" -notcontains "PowerShell" True
-match
左辺が右辺と正規表現でマッチしているか比較します。
結果は True か False で返します。
PS C:\> "PowerShell" -match "Power" True
対象の値、上では Power は $matches 変数に代入されます。
PS C:\> $matches Name Value ---- ----- 0 Power
-notmatch
左辺が右辺と正規表現でマッチしていないか比較します。
PS C:\> "PowerShell" -notmatch "PS" True
とりあえず以上とします。量が多いですね。
いかがでしょうか。PowerShell に関わらずプログラミングで、私はよく「~以下」と「~より少ない」などよく間違えたりするので、これを書いてて復習できました。
では最後までお読みいただきありがとうございました!