PowerShellで扱える比較演算子について
スポンサーリンク

比較演算子とは

比較演算子とは「値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
スポンサーリンク

Twitterでフォローしよう