説明 | if文とは |
サンプル | if文のサンプル |
ネスト構造 if文の中にif文 | |
nullと空文字を比較 | |
比較演算子 | 比較演算子 |
論理演算子 | 論理積(-and) AかつB |
論理和(-or) AまたはB | |
否定(-not) Aではない |
if文とは
if (条件){ 処理 } |
// elseifとelseを書く場合 if (条件){ 処理 }elseif (条件){ 処理 }else{ 処理 } |
- 条件が合致する場合、配下のブロック{ }の処理が実行され、if文の処理は終了します。
- 条件が合致することをtrue(真)ともいいます。
- 条件が合致しないことをfalse(偽)ともいいます。
- 条件が合致しない場合、配下のブロック{ }の処理は実行されず、その下(else if/else/処理終了)に進みます。
- else ifは、1つ以上記述できます。省略可能です。
- elseのブロック{ }の処理は、どの条件も合致しなかったときに実行されます。elseは1つのみ記述できます。省略可能です。
if文のサンプル
$a = 1
if ($a -eq 0) {
Write-Host "0"
}elseif ($a -eq 1) {
Write-Host "1" # 1が表示される
}else{
Write-Host "other"
}
5行目のif文はtrueになるのでその配下の処理が実行されます。
ネスト構造 if文の中にif文
$a = 1
$b = 1
if ($a -eq 1) {
if ($a -eq 1) {
Write-Host "1" # 1が表示される
}
}
5行目は、if文の中にif文を記述しています。ネストの構造です。入れ子ともいいます。
nullと空文字を比較
$str # nullになる
#$str = "" # 空文字
if($str -eq $null)
{
Write-Host("null") # nullが表示される
}
if([string]::IsNullOrEmpty($str)){
Write-Host("null or empty") # null or emptyが表示される
}
nullは、-eqで比較できます。
8行目は、値がnullまたは空文字のときにtrueになります。
比較演算子
2つの値を比べて条件を満たしていればtrue,そうでない場合はfalseを返します。
比較演算子 | 説明 |
---|---|
a -eq b | aとbの値は等しい equal(==) ※英字の大文字と小文字は区別しない |
a -ceq b | aとbの値は等しい ※英字の大文字と小文字を区別する |
a -ne b | aとbの値は等しくない not equal(!=) ※英字の大文字と小文字は区別しない |
a -cne b | aとbの値は等しくない ※英字の大文字と小文字を区別する |
a -gt b | aはbより大きい greater than(>) |
a -ge b | aはbより大きい または 等しい greater than or equal(>=) |
a -lt b | aはbより小さい less than(<) |
a -le b | aはbより小さい または 等しい less than or equal(<=) |
論理積(-and) AかつB
if (左の条件式) -and (右の条件式) |
- if文で論理積(-and)を使用する場合、論理積(-and)の左の式と右の式の両方が条件に合致する場合にtrueになります。
$a = 1
$b = 1
if (($a -eq 1) -and ($b -eq 1)){
Write-Host "true" # trueが表示される
}
4行目は、左の式と右の式が共にtrueなので、trueになります。
論理和(-or) AまたはB
if (左の条件式) -or (右の条件式) |
- if文で論理和(-or)を使用する場合、 論理和(-or)の左の式または右の式のどちらかが条件に合致する場合にtrueになります。
$a = 1
$b = 2
if (($a -eq 2) -or ($b -eq 2)){
Write-Host "true" # trueが表示される
}
4行目は、左の式はfalseですが右の式がtrueなのでtrueになります。
論理否定(-not) Aではない
if -not(条件式) |
- 条件式がfalseの場合にtrueになります。
- 条件式がtrueの場合にfalseになります。
$a = 9
if (-not($a -eq 1)){
Write-Host "true" # trueが表示される
}
if (-not($a -eq 9)){
Write-Host "true"
}else{
Write-Host "false" # falseが表示される
}
3行目は値の比較でfalseになり、それを否定するのでtrueになります。
7行目は値の比較でtrueになり、それを否定するのでfalseになります。
関連の記事