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."
}


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow