PowerShell における論理演算子
- PowerShell の論理演算子
-
PowerShell の
-and演算子 -
PowerShell の
-or演算子 -
PowerShell の
-xor演算子 -
PowerShell の
-not演算子
論理演算子はさまざまな条件を単一の条件に変換することができます。
この記事では、実世界の例を挙げ、PowerShell のスクリプトで論理演算子を適用します。
PowerShell の論理演算子
論理演算子は and、or、xor、および not または!です。
PowerShell の -and 演算子
出力は、$a と $b が true の場合は true、それ以外の場合は false です。
真理値表:
| A | B | 出力 |
|---|---|---|
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 1 | 1 |
$a = 0
$b = 0
$a -and $b # false (if both variables are false)
$a = 1
$b = 0
$a -and $b # false (if any of the variables are false)
$a = 1
$b = 1
$a -and $b # true (if both variables are true)
-and 演算子は、両方が true の場合にのみ true を返します。一般に、-and 演算子は、すべての条件がチェックされ、満たされることを望む場合に使用されます。
ここに満たされる必要がある両方の条件の例があります。
$attendance = 102
$paid = "Y"
if ($attendance -gt 100 -and $paid -eq "Y") {
Write-Output "Allow for examination."
}
出力:
Allow for examination.
PowerShell の -or 演算子
出力は、$a と $b が false の場合は false です。これは -and 演算子と比較しています。
-or 演算子は、出力を true にするために、1つの変数が true であることが必要です。
真理値表:
| A | B | 出力 |
|---|---|---|
| 0 | 0 | 0 |
| 1 | 0 | 1 |
| 0 | 1 | 1 |
| 1 | 1 | 1 |
$a = 0
$b = 0
$a -or $b # false (if both conditions are false)
$a = 1
$b = 0
$a -or $b # true (if any of the variables are true)
$a = 1
$b = 1
$a -or $b # true (if both of the variables are true)
-or 演算子は、両方の条件が false のときにのみ false を返します。一般に、-or 演算子は、いずれかの条件を true とみなすときに使用されます。
$attendance = 99
$marks = 201
if ($attendance -gt 100 -or $marks -gt 200) {
Write-Output "Give five extra marks."
}
出力:
Give five extra marks.
PowerShell の -xor 演算子
排他的 or または -xor は、$a または $b のいずれかが true の場合に true を返します。両方の条件が true の場合、-xor は false の結果を返します。
真理値表:
| A | B | 出力 |
|---|---|---|
| 0 | 0 | 0 |
| 1 | 0 | 1 |
| 0 | 1 | 1 |
| 1 | 1 | 0 |
('a' -eq 'A') -xor ('a' -eq 'z') # true as one of them is true
('a' -eq 'A') -xor ('Z' -eq 'z') # false as both of them is true
('a' -eq 's') -xor ('Z' -eq 'p') # false as both of them are false
PowerShell の -not 演算子
-not 演算子は、式の出力の反対を返します。式の出力が true の場合、演算子はそれを false として返し、その逆も同様です。
-not ('a' -eq 'a') # false as the output of expression is true
-not ('v' -eq 'a') # true as output expression is false
-not ('v' -eq 'V') # false as output expression is true
-not ('V' -eq 'V1') # true as output expression is false
感嘆符!は、-not 演算子と同じです。
!('a' -eq 'a') # false as the output of expression is true
!('v' -eq 'a') # true as output expression is false
!('v' -eq 'V') # false as output expression is true
!('V' -eq 'V1') # true as output expression is false
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn