PowerShell: 比較演算子(-eq -ne -gt -ge -lt -le)
PowerShellで使用する比較演算子には 「-eq -ne -gt -ge -lt -le」があります。 比較演算子は2つの式や値を比較し、 結果を真偽値のTrue(真)又はFalse(偽)で返します。
他の多くのプログラミング言語では 比較演算子として「=」「>」「<」記号を使いますが、 PowerShellでは「-eq」のように「-(ハイフン)」+「英文字」となっており、 英単語を省略した文字が使用されています。 例えば「-eq」の場合は「equal」の略です。
各演算子の意味と英語、他のプログラミング言語で使われる一般的な記号は次の通りです。
演算子 | 意味 | 英語 | 一般的な記号 |
---|---|---|---|
-eq | 等しい | equal | =, == |
-ne | 等しくない | not equal | <>, != |
-gt | より大きい | greater than | > |
-ge | 以上 | greater than or equal | >= |
-lt | より小さい | less than | < |
-le | 以下 | less than or equal | <= |
以下は比較演算子の使用例です。 各演算子でTrueとなる場合とFalseになる場合を記述しています。
# -eq 等しい Write-Host (10 -eq 10) # True Write-Host (10 -eq 20) # False # -ne 等しくない Write-Host (10 -ne 10) # False Write-Host (10 -ne 20) # True # -gt より大きい Write-Host (10 -gt 10) # False Write-Host (10 -gt 9) # True # -ge 以上 Write-Host (10 -ge 10) # True Write-Host (10 -ge 20) # False # -lt より小さい Write-Host (10 -lt 10) # False Write-Host (10 -lt 20) # True # -le 以下 Write-Host (10 -le 10) # True Write-Host (10 -le 9) # False
文字列を比較する場合の付加文字「c」と「i」
文字列を比較する場合、 デフォルトでは大文字と小文字は区別されません。 「"a" -eq "A"」はTrue(真)となります。
大文字と小文字を区別する場合は先頭に「c」を加えて「-ceq」と記述します。 区別しない場合は「i」を加えます。 何も加えない場合は「i」と同じで区別しません。
オプション | 意味 |
---|---|
c | 大文字・小文字を区別する |
i | 区別しない(デフォルト) |
Write-Host ("a" -eq "A") # True Write-Host ("a" -ceq "A") # False Write-Host ("a" -ieq "A") # True
(まとめ記事: PowerShell 演算子, PowerShell if文 )