PowerShellの比較演算子のチートシート

PowerShell
記事内に広告が含まれています。

PowerShellの比較演算子は-eqや-neなどの文字列で記述し、学生の頃数学で習ったような等号(=)、大なり(>)、小なり(<)を使いません。

なので、演算子のパターンを覚えておく必要があります。

ただ一覧化を見るとワンパターンなのに気づき、何度か構文を記述をすると慣れてくるはずです。

チートシート

PowerShellの比較演算子のチート表です。

比較演算子覚え方(英語)Java(参考)意味挙動
-eqequal==等しい左辺と右辺が等しい場合、$trueを返します
-nenot equal!=等しくない左辺と右辺が等しくない場合、$trueを返します
-ltless than<より小さい左辺が右辺より小さい場合、$trueを返します
-leless than or equal<=以下左辺が右辺以下の場合、$trueを返します
-gtgreater than>より大きい左辺が右辺より大きい場合、$trueを返します
-gegreater than or equal=以上左辺が右辺以上の場合、$trueを返します
比較演算子のチート表

基本はequal、less、greaterと数合わせのthanの4単語の頭文字から2文字とって、比較演算子になっているようです。

eの文字が入っていれば、等価(==)を含みます。

使用例

ここから下はチートシートでイメージがつかない場合の使用例です。(初学者向けです)

-eq(equal)

-eq(equal)の使用例です。

ソースコード

$a = 1
if($a -eq 1){
    Write-Host "1 -eq 1"
}
if($a -eq 2){
    Write-Host "1 -eq 2"
}
Read-Host

実行結果

1 -eq 1

-ne(not equal)

-ne(not equal)の使用例です。

ソースコード

$a = 1
if($a -ne 1){
    Write-Host "1 -ne 1"
}
if($a -ne 2){
    Write-Host "1 -ne 2"
}
Read-Host

実行結果

1 -ne 2

-lt(less than)

-lt(less than)の使用例です。

ソースコード

$a = 2
$b = 1
if($a -lt 2){
    Write-Host "2 -lt 2"
}
if($b -lt 2){
    Write-Host "1 -lt 2"
}
Read-Host

実行結果

1 -lt 2

-le(less than or equal)

-le(less than or equal)の使用例です。

ソースコード

$a = 2
$b = 1
if($a -le 2){
    Write-Host "2 -le 2"
}
if($b -le 2){
    Write-Host "1 -le 2"
}
Read-Host

実行結果

2 -le 2
1 -le 2

-gt(greater than)

-gt(greater than)の使用例です。

ソースコード

$a = 2
$b = 1
if($a -gt 1){
    Write-Host "2 -gt 1"
}
if($b -gt 1){
    Write-Host "1 -gt 1"
}
Read-Host

実行結果

2 -gt 1

-ge(greater than or equal)

-ge(greater than or equal)の使用例です。

ソースコード

$a = 2
$b = 1
if($a -ge 1){
    Write-Host "2 -ge 1"
}
if($b -ge 1){
    Write-Host "1 -ge 1"
}
Read-Host

実行結果

2 -ge 1
1 -ge 1

補足

大なり(>)、小なり(<)を使うとどうなるか?

Javaのような他言語みたいに、大なり(>)、小なり(<)を使用するとどうなるでしょうか。

$a = 2
$b = 1
if($a > 1){
    Write-Host "2 > 1"
}
if($b > 1){
    Write-Host "1 > 1"
}
Read-Host

実行すると、Shell上は何も出力されず、「1」という謎ファイルができました。

大なり(>)はPowerShellではリダイレクトの意味なので、比較に使うと予期せぬ動作になるので注意が必要です。

ちなみに小なり(<)は構文エラーでした。。

参考情報

環境

下記の環境で作成・実行しております。

No.環境バージョン
1OSWindows10
2PowerShell5.1
環境一覧

ちなみに私もこんな記事を書くということは、時々こんがらがっているということです。。

以上です。