PowerShell
条件付きロジック
サーチ…
構文
- if(expression){}
- if(expression){} else {}
- if(expression){} elseif(expression){}
- if(expression){} elseif(expression){} else {}
備考
条件式で使用できる比較演算子も参照してください。
if、else、else if
Powershellは、多くのプログラミング言語に似ている標準的な条件付き論理演算子をサポートしています。これにより、特定の状況下で特定の機能やコマンドを実行することができます。
有するif
ブラケット(内部コマンドは{}
であれば(内部条件場合)にのみ実行される()
が満たされ
$test = "test"
if ($test -eq "test"){
Write-Host "if condition met"
}
あなたはelse
することもできelse
。ここではelse
場合はコマンドが実行されif
の条件が満たされていません 。
$test = "test"
if ($test -eq "test2"){
Write-Host "if condition met"
}
else{
Write-Host "if condition not met"
}
またはelseif
。 else ifは、 if
条件が満たされず、 elseif
条件が満たされたif
コマンドを実行します。
$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
ステートメントを入力します。これは、使用して行うことができます-Not
コマンドレットを
$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