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.

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