比較演算子とは
比較演算子とは「値Aと値Bを比較」して、指定した条件と一致したら $True、一致しなければ $False を返す条件を指します。
PS C:\> #左右が等しいか比較
PS C:\> 1 -eq 1
True
PS C:\> 1 -eq 2
False
また、比較の結果はBoolean型で出力されます。
PS C:\> ( 1 -eq 1 ).GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Boolean System.ValueType
比較演算子一覧
Powershellで扱える比較演算子は以下の様なモノがあります。
Powershell | 意味 | BATCH類似 | C/C#類似 |
---|---|---|---|
$A -eq $B | $Aと$Bが等しい | EQU | == |
$A -ne $B | $Aと$Bが等しくない | NEQ | != |
$A -gt $B | $Aが$Bより大きい | GTR | > |
$A -ge $B | $Aが$B以上 | GEQ | >= |
$A -lt $B | $Aが$Bより小さい | LSS | < |
$A -le $B | $Aが$B以下 | LEQ | <= |
$A -like $B | $Aが$B(ワイルドカード)と等しい | - | - |
$A -notlike $B | $Aが$B(ワイルドカード)と等しくない | - | - |
$A -match $B | $Aが$B(正規表現)と等しい | - | - |
$A -notmatch $B | $Aが$B(正規表現)と等しくない | - | - |
実行結果(サンプル)
$Aと$Bが等しい
PS C:\> 1 -eq 1
True
PS C:\> 1 -eq 2
False
$Aと$Bが等しくない
PS C:\> 1 -ne 1
False
PS C:\> 1 -ne 2
True
$Aが$Bより大きい
PS C:\> 1 -gt 1
False
PS C:\> 2 -gt 1
True
$Aが$B以上
PS C:\> 1 -ge 1
True
PS C:\> 2 -ge 1
True
$Aが$Bより小さい
PS C:\> 1 -lt 1
False
PS C:\> 1 -lt 2
True
$Aが$B以下
PS C:\> 1 -le 1
True
PS C:\> 1 -le 2
True
$Aが$B(ワイルドカード)と等しい
PS C:\> "ABCDEF" -like "A*F"
True
PS C:\> "ABCDEF" -like "A*G"
False
$Aが$B(ワイルドカード)と等しくない
PS C:\> "ABCDEF" -notlike "A*F"
False
PS C:\> "ABCDEF" -notlike "A*G"
True
$Aが$B(正規表現)と等しい
PS C:\> "ABC
>> DEF" -match 'ABC\nDEF'
True
PS C:\> "ABCDEF" -match 'ABC\nDEF'
False
$Aが$B(正規表現)と等しくない
PS C:\> "ABC
>> DEF" -notmatch 'ABC\nDEF'
False
PS C:\> "ABCDEF" -notmatch 'ABC\nDEF'
True