サーチ…


構文

  • 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