PowerShell で条件を否定する方法

  1. PowerShell で条件を否定するために -not 演算子を使用する
  2. PowerShell で条件を否定するために!演算子を使用する
  3. PowerShell で条件を否定するために -notmatch 演算子を使用する
  4. PowerShell で条件を否定するために -ne 演算子を使用する
  5. PowerShell で条件を否定するために -notlike 演算子を使用する
  6. 結論
PowerShell で条件を否定する方法

PowerShell は、他のプログラミング言語のようにコードを実行するための異なる意思決定文を持っています。PowerShell スクリプトでは、意思決定のために条件を使用できます。

スクリプトは、これらの決定に基づいて異なるアクションを実行します。条件が true の場合、一つのコマンドを実行し、条件が false の場合は別のコマンドを実行します。

PowerShell で最も多く使用される文の一つは If 文です。if 文、if-else 文、入れ子の if 文の 3 種類があります。

PowerShell では、条件文として switch 文も使用します。

ここに if 文のシンプルな例があります。

if (5 -lt 7) {
    Write-Host "5 is less than 7"
}

5 が 7 未満であれば、Write-Host コマンドを実行します。

出力:

PowerShell で条件を否定する - 出力 1

論理演算子は、PowerShell の条件文を接続し、複数の条件をテストすることを可能にします。PowerShell は、-and-or-xor-not、および!という論理演算子をサポートしています。

このチュートリアルでは、PowerShell で条件を否定する方法を学びます。

PowerShell で条件を否定するために -not 演算子を使用する

PowerShell において、-not 演算子は条件を否定するための強力なツールです。論理式の結果を簡単に逆転させ、スクリプトをよりダイナミックで柔軟にします。

$condition = $true
if (-not $condition) {
    Write-Host "Condition is false"
}

この例では、$condition$true に初期化します。$condition-not 演算子を適用すると、元の条件が真だったため、$false として評価されます。その結果、メッセージ"Condition is false"は表示されません。

出力:

ポジティブ条件を否定する - 出力 2

さて、別の条件をテストしましょう。

$value = 5
if (-not ($value -eq 10)) {
    Write-Host "Value is not equal to 10"
}

この例では、$value5 に設定します。$value10 と等しいかどうかを確認するために -eq 演算子を使用しますが、-not 演算子を使用してこの条件を否定します。その結果、($value -eq 10)$false として評価され、-not 演算子によって $true に変換されます。

その結果、メッセージ"Value is not equal to 10"が表示されます。

出力:

PowerShell で条件を否定する - 出力 3

PowerShell で条件を否定するために!演算子を使用する

!演算子は、logical NOT 演算子とも呼ばれ、条件を否定するために使用されます。これは、真偽値を反転させるものです。

この演算子は、条件が真でなく、偽であるかどうかを確認する必要があるときに一般的に使用されます。

$condition = $true
if (!$condition) {
    Write-Host "Condition is false"
}

この例では、$condition$true に初期化します。$condition!演算子を適用すると、元の条件が真だったため、$false として評価されます。その結果、メッセージ"Condition is false"は表示されません。

出力:

PowerShell で条件を否定する - 出力 4

PowerShell で条件を否定するために -notmatch 演算子を使用する

PowerShell では、-notmatch 演算子はパターンマッチングに基づいて条件を否定するために使用されます。この演算子は、文字列が指定されたパターンと一致しないかどうかを確認します。

特定の文字列やパターンを除外したい場合に特に便利です。

$string = "Hello, world!"
if ($string -notmatch "Goodbye") {
    Write-Host "String does not contain 'Goodbye'"
}

この例では、$string という文字列が"Hello, world!"の値を持っています。この文字列が"Goodbye"というパターンと一致しないかどうかを確認するために -notmatch 演算子を使用します。

文字列"Hello, world!"は部分文字列"Goodbye"を含まないため、条件は真であり、メッセージ"String does not contain 'Goodbye'"が表示されます。

出力:

条件を否定する PowerShell - 出力 5

PowerShell で条件を否定するために -ne 演算子を使用する

PowerShell では、-ne 演算子は不等号に基づいて条件を否定するために使用されます。これは、2つの値が等しくないかどうかを確認します。

特定の値を比較から除外する必要があるときに特に便利です。

$value = 5
if ($value -ne 10) {
    Write-Host "Value is not equal to 10"
}

この例では、変数 $value に値 5 を割り当てます。その後、$value10 と等しくないかどうかを確認するために -ne 演算子を使用します。

$value は確かに 5 であり、10 と等しくないため、条件は真として評価され、メッセージ"Value is not equal to 10"が表示されます。

出力:

条件を否定する PowerShell - 出力 6

PowerShell で条件を否定するために -notlike 演算子を使用する

PowerShell では、-notlike 演算子はワイルドカードパターンマッチングに基づいて条件を否定するために使用されます。この演算子は、文字列が指定されたパターンと一致しないかどうかを確認できます。

特定のパターンや部分文字列を比較から除外する必要があるときに役立ちます。

$string = "Hello, world!"
if ($string -notlike "*Goodbye*") {
    Write-Host "String does not contain 'Goodbye'"
}

この例では、$string という文字列が"Hello, world!"の値を持っています。この文字列が"*Goodbye*"というパターンと一致しないかどうかを確認するために -notlike 演算子を使用します。

文字列"Hello, world!"は部分文字列"Goodbye"を含まないため、条件は真であり、メッセージ"String does not contain 'Goodbye'"が表示されます。

出力:

PowerShell で条件を否定する - 出力 7

結論

この記事では、PowerShell で条件を否定するさまざまな方法を探求し、スクリプトロジックの柔軟性と精度を提供しました。-not 演算子について議論し、論理式の結果を逆転させた後、条件を直接否定するために使用される!演算子について説明しました。

次に、指定されたパターンに一致しない文字列をチェックする -notmatch 演算子、2つの値間の不等号を評価する -ne 演算子について掘り下げました。最後に、ワイルドカードパターンマッチングに基づいて条件を否定するために使用される -notlike 演算子について説明しました。

これらの方法を理解し応用することで、PowerShell ユーザーはスクリプトの堅牢性と多様性を高めることができます。

チュートリアルを楽しんでいますか? <a href="https://www.youtube.com/@delftstack/?sub_confirmation=1" style="color: #a94442; font-weight: bold; text-decoration: underline;">DelftStackをチャンネル登録</a> して、高品質な動画ガイドをさらに制作するためのサポートをお願いします。 Subscribe
著者: Rohan Timalsina
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website