PowerShell
Условная логика
Поиск…
Синтаксис
- если (выражение) {}
- если (выражение) {} еще {}
- если (выражение) {} 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."
}