この記事では、PowerShellの比較演算子について説明します。
比較演算子
PowerShellでは、さまざまな比較演算子が使用できます。
これらの演算子を使用することで、変数、文字列、数値などのデータを比較することができます。
PowerShellで使用できる比較演算子
比較演算子 | 意味 |
-eq | 等しい |
-ne | 等しくない |
-gt | より大きい |
-ge | 以上 |
ーlt | より小さい |
-le | 以下 |
-Like | 類似する |
-NotLike | 類似しない |
-Match | 正規表現マッチ |
-NotMatch | 正規表現アンマッチ |
-Contains | 左側に右側が含まれる |
-NotContains | 左側に右側が含まれない |
-In | 右側に左側が含まれる |
-NotIn | 右側に左側が含まれない |
-Replace | 置換 |
比較演算子の使用例
等しいかどうか (-eq)
$var1 = 5
$var2 = 10
if ($var1 -eq $var2) {
Write-Host "変数は等しいです。"
} else {
Write-Host "変数は等しくありません。"
}
この例では、変数$var1と$var2が等しいかどうかを確認しています。
-eq演算子は等しい場合にTrueを返し、それ以外の場合はFalseを返します。
■実行結果
変数は等しくありません。
等しくないかどうか (-ne)
$var1 = 5
$var2 = 10
if ($var1 -ne $var2) {
Write-Host "変数は等しくありません。"
} else {
Write-Host "変数は等しいです。"
}
この例では、変数$var1と$var2が等しくないかどうかを確認しています。
-ne演算子は、変数が等しくない場合にTrueを返し、それ以外の場合はFalseを返します。
■実行結果
変数は等しくありません。
より大きいかどうか (-gt) および より小さいかどうか (-lt)
$num1 = 15
$num2 = 10
if ($num1 -gt $num2) {
Write-Host "$num1 は $num2 よりも大きいです。"
}
if ($num2 -lt $num1) {
Write-Host "$num2 は $num1 よりも小さいです。"
}
これらの演算子を使用すると、数値の大小関係を比較できます。
■実行結果
15 は 10 よりも大きいです。 10 は 15 よりも小さいです。
以上かどうか (-ge) および 以下かどうか (-le)
$num1 = 15
$num2 = 10
if ($num1 -ge $num2) {
Write-Host "$num1 は $num2 以上です。"
}
if ($num2 -le $num1) {
Write-Host "$num2 は $num1 以下です。"
}
これらの演算子を使用すると、数値が以上または以下であるかを比較できます。
■実行結果
10 は 15 以下です。
ワイルドカード(-like、-notlike)
-like演算子、-notlike演算子はワイルドカードを使用して文字列を比較します。右側に、ワイルドカード(*)を含む文字列を指定します。
$string1 = "PowerShell"
$string2 = "Power*"
if ($string1 -like $string2) {
Write-Host "文字列は一致します。"
} else {
Write-Host "文字列は一致しません。"
}
この例では、PowerShellがPower*に一致するかどうかを確認しています。
■実行結果
文字列は一致します。
複合条件
PowerShellでは、複数の条件を組み合わせて複雑な条件を記述することができます。
これには、論理演算子 -and、-or、-not を使用します。
$age = 25
$hasLicense = $true
if ($age -ge 18 -and $hasLicense) {
Write-Host "運転できます。"
} else {
Write-Host "運転できません。"
}
この例では、運転可能な年齢(18歳以上)かつ運転免許がある($true)場合にメッセージを表示します。
■実行結果
運転できます。
まとめ
今回は、PowerShellの比較演算子について説明しました。