HOWTO · PowerShell
Operadores lógicos en PowerShell
Este artículo discutirá los varios operadores lógicos utilizados en PowerShell. Este artículo también discute diferentes ejemplos del mundo real y cómo podemos aplicarlo en la creación de scripts con PowerShell.
En esta página
Los operadores lógicos pueden convertir varias condiciones en una sola condición.
Este artículo discutirá ejemplos del mundo real y aplicará operadores lógicos en scripts con PowerShell.
Operadores Lógicos de PowerShell
Los operadores lógicos son and, or, xor y not o !.
el operador -and en PowerShell
La salida es true si $a y $b son true; de lo contrario, false.
Tabla de Verdad:
| A | B | Salida |
|---|---|---|
| 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)
El operador -and devuelve true solo cuando ambos son verdaderos. En general, los operadores -and se utilizan donde queremos que todas las condiciones sean verificadas y cumplidas.
Aquí hay un ejemplo de ambas condiciones que necesitan ser cumplidas.
$attendance = 102
$paid = "Y"
if ($attendance -gt 100 -and $paid -eq "Y") {
Write-Output "Allow for examination."
}
Salida:
Allow for examination.
el operador -or en PowerShell
La salida es false si $a y $b son false, en comparación con el operador -and.
El operador -or solo necesita que una variable sea true para devolver true.
Tabla de Verdad:
| A | B | Salida |
|---|---|---|
| 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)
El operador -or devuelve false solo cuando ambas condiciones son false. En general, los operadores -or se utilizan cuando se consideran cualquier condición como true.
$attendance = 99
$marks = 201
if ($attendance -gt 100 -or $marks -gt 200) {
Write-Output "Give five extra marks."
}
Salida:
Give five extra marks.
el operador -xor en PowerShell
El or exclusivo o -xor resulta ser true si solo uno de $a o $b es true. Si ambas condiciones son true, -xor da un resultado de false.
Tabla de Verdad:
| A | B | Salida |
|---|---|---|
| 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
el operador -not en PowerShell
El operador -not devuelve lo opuesto de la salida de la expresión. Si la salida de la expresión es true, el operador lo devolverá como false, y viceversa.
-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
El signo de exclamación ! es lo mismo que el operador -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