Поиск…


Синтаксис

  • если (выражение) {}
  • если (выражение) {} еще {}
  • если (выражение) {} ElseIf (выражение) {}
  • если (выражение) {} ElseIf (выражение) {} еще {}

замечания

См. Также Операторы сравнения , которые можно использовать в условных выражениях.

if, else и else if

Powershell поддерживает стандартные операторы условной логики, как и многие языки программирования. Они позволяют выполнять определенные функции или команды при определенных обстоятельствах.

Если a, if команды внутри скобок ( {} ) выполняются только в том случае, если выполнены условия внутри if ( () )

$test = "test"
if ($test -eq "test"){
    Write-Host "if condition met"
}

Вы также можете сделать что- else . Здесь команды else выполняются, if условия if не выполняются:

$test = "test"
if ($test -eq "test2"){
    Write-Host "if condition met"
}
else{
    Write-Host "if condition not met"
}

или elseif . Команда else if запускает команды, если условия if не выполняются и выполняются условия elseif :

$test = "test"
if ($test -eq "test2"){
    Write-Host "if condition met"
}
elseif ($test -eq "test"){
    Write-Host "ifelse condition met"
}

Обратите внимание на приведенное выше использование -eq (равенство) CmdLet и not = or == как это делают многие другие языки для эквализации.

Отрицание

Вы можете отказаться от логического значения, т. Е. Ввести оператор if если условие ложно, а не true. Это может быть сделано с помощью -Not CMDlet

$test = "test"
if (-Not $test -eq "test2"){
    Write-Host "if condition not met"
}

Вы также можете использовать ! :

$test = "test"
if (!($test -eq "test2")){
    Write-Host "if condition not met"
}

существует также оператор -ne (не равный):

$test = "test"
if ($test -ne "test2"){
    Write-Host "variable test is not equal to 'test2'"
}

Если условная стенография

Если вы хотите использовать стенограмму, вы можете использовать условную логику со следующей стенографией. Только строка «false» будет оцениваться как true (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
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow