HIRO's.NET

VB.NET, C#, PowerShell Tipsサイト

 VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。

 基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。

HIRO's.NET RSSHIRO's.NET RSS


PowerShellの開発でお困りのことはありませんか?
そんな悩みは当サイトで解決!!

HOME > PowerShell Tips > 演算子 Tips メニュー

04.比較演算子

 
UPDATE:2007/11/21    
 


 PowerShellで値を比較するために使用できる演算子には下記のものがあります。

演算子 説明
-eq 等しい
-ne 等しくない
-gt より大きい
-ge 以上
-lt より小さい
-le 以下
-like ワイルドカードによる比較
-notlike ワイルドカードによる比較
-match 正規表現による比較
-nomatch 正規表現による比較


上記は大文字と小文字を区別しません。(上記演算子名の前に文字iを付けて-ieqとした場合も大文字と小文字を区別しません)
大文字と小文字を区別する場合は上記演算子名の前に文字cを付けて -ceq のようにします。

-eq演算子
この演算子は"等しい"(equal)を意味します。
この演算子の左側の値と右側の値が等しいかを比較します。
等しい場合にはTrueを返します。

sample1

PS C:\Users\HIRO> 5 -eq 5
True

PS C:\Users\HIRO> 5 -eq 3
False

-ne演算子
この演算子は"等しくない"(not equal)を意味します。
この演算子の左側の値と右側の値が等しくないことを比較します。
等しくない場合にはTrueを返します。

sample2

PS C:\Users\HIRO> 5 -ne 3
True

PS C:\Users\HIRO> 3 -ne 3
False

-gt演算子
この演算子は"等しくない"(greater than)を意味します。
この演算子の左側の値が右側の値より大きいかを比較します。
右側の値より大きい場合にはTrueを返します。

sample3

PS C:\Users\HIRO> 5 -gt 3
True

PS C:\Users\HIRO> 3 -gt 5
False

-ge演算子
この演算子は"以上"(greater or equal)を意味します。
この演算子の左側の値が右側の値以上かを比較します。
右側の値以上の場合にはTrueを返します。

sample4

PS C:\Users\HIRO> 3 -ge 2
True
PS C:\Users\HIRO> 3 -ge 3
True
PS C:\Users\HIRO> 3 -ge 4
False

-lt演算子
この演算子は"より小さい"(less than)を意味します。
この演算子の左側の値が右側の値より小さいかを比較します。
右側の値より小さい場合にはTrueを返します。

sample5

PS C:\Users\HIRO> 3 -lt 4
True
PS C:\Users\HIRO> 4 -lt 3
False

-le演算子
この演算子は"以下"(less or equal)を意味します。
この演算子の左側の値が右側の値以下かを比較します。
右側の値以下の場合にはTrueを返します。

sample6

PS C:\Users\HIRO> 2 -le 3
True
PS C:\Users\HIRO> 3 -le 3
True
PS C:\Users\HIRO> 4 -le 3
False

-like演算子
この演算子はワイルドカードによる曖昧検索を行います。
曖昧検索にヒットした場合はTrueを返します。

sample7の1つ目は"HIRO's.NET"の先頭が"HIRO"で始まっているかを検索します。
2つ目は"hi"で始まっているかを検索します。
3つめは演算子名の先頭に"c"を付加して、大文字と小文字を区別して検索を行うためFalseが返されています。

sample7

PS C:\Users\HIRO> "HIRO's,NET" -like "HIRO*"
True
PS C:\Users\HIRO> "HIRO's,NET" -like "hi*"
True
PS C:\Users\HIRO> "HIRO's,NET" -clike "hi*"
False

-match演算子
この演算子は正規表現による検索を行います。
マッチした場合はTrueを返します。

sample8

PS C:\Users\HIRO> "HIRO's.NET" -match "[a-z]IRO's.NET"
True

-notmatch演算子
この演算子は正規表現による検索を行います。
マッチしなかった場合はTrueを返します。

sample9

PS C:\Users\HIRO> "HIRO's.NET" -notmatch "[a-z]IRO's.NET"
False