PowerShell
Lógica condicional
Buscar..
Sintaxis
- si (expresión) {}
- if (expresión) {} else {}
- if (expresión) {} elseif (expresión) {}
- if (expresión) {} elseif (expresión) {} else {}
Observaciones
Consulte también Operadores de comparación , que se pueden usar en expresiones condicionales.
si, si no y si
Powershell es compatible con operadores lógicos condicionales estándar, al igual que muchos lenguajes de programación. Estos permiten que ciertas funciones o comandos se ejecuten en circunstancias particulares.
Con un if
los comandos dentro de los corchetes ( {}
) solo se ejecutan si se cumplen las condiciones dentro de if ( ()
)
$test = "test"
if ($test -eq "test"){
Write-Host "if condition met"
}
También puedes hacer otra else
. Aquí se ejecutan los comandos else
if
no se cumplen las condiciones if
:
$test = "test"
if ($test -eq "test2"){
Write-Host "if condition met"
}
else{
Write-Host "if condition not met"
}
o un elseif
. An else if ejecuta los comandos si no se cumplen las condiciones if
y se cumplen las condiciones elseif
:
$test = "test"
if ($test -eq "test2"){
Write-Host "if condition met"
}
elseif ($test -eq "test"){
Write-Host "ifelse condition met"
}
Tenga en cuenta el uso anterior -eq
(igualdad) CmdLet y no =
o ==
como muchos otros idiomas hacen para equlaity.
Negación
Es posible que desee negar un valor booleano, es decir, ingrese una sentencia if
cuando una condición sea falsa en lugar de verdadera. Esto se puede hacer mediante el uso de la -Not
cmdlet
$test = "test"
if (-Not $test -eq "test2"){
Write-Host "if condition not met"
}
También puedes usar !
:
$test = "test"
if (!($test -eq "test2")){
Write-Host "if condition not met"
}
También existe el -ne
(no igual):
$test = "test"
if ($test -ne "test2"){
Write-Host "variable test is not equal to 'test2'"
}
Si la taquigrafía condicional
Si desea utilizar la taquigrafía, puede utilizar la lógica condicional con la siguiente taquigrafía. Solo la cadena 'false' se evaluará como verdadera (2.0).
#Done in Powershell 2.0
$boolean = $false;
$string = "false";
$emptyString = "";
If($boolean){
# this does not run because $boolean is false
Write-Host "Shorthand If conditions can be nice, just make sure they are always boolean."
}
If($string){
# This does run because the string is non-zero length
Write-Host "If the variable is not strictly null or Boolean false, it will evaluate to true as it is an object or string with length greater than 0."
}
If($emptyString){
# This does not run because the string is zero-length
Write-Host "Checking empty strings can be useful as well."
}
If($null){
# This does not run because the condition is null
Write-Host "Checking Nulls will not print this statement."
}