PowerShell: ifやswitchの条件分岐で「何もしない」場合
ifステートメントやswitchステートメントの特定条件の時に、 処理を何も行わないケースもあります。 PowerShellで「何もしない」場合は何も記述する必要がありません。 Pythonでの「pass」のような文はありません。 ただしコメントは入れておいた方がわかりやすくなります。
if文で「何もしない」場合
次のコードではifステートメントの条件分岐の中で、 変数$nの値が6の時だけ何もしません。
$n = 6 if ($n -eq 5) { $a = 10 } elseif ($n -eq 6) { # 何もしない } else { $a = 20 }
ただし、何もしない場合でも{}波括弧は必要です。 PowerShellのif文では{}を付けないとエラーが発生します。
switch文で「何もしない」場合
次のコードはswitchステートメントを使った条件分岐で、 変数$nの値が6の時だけ何もしません。
$n = 6 switch ($n) { 5 { $a = 10 } 6 { } # 何もしない 7 { $a = 20 } Default { $a = 30} }
PowerShellのswitch文もif文と同じように{}波括弧が必要です。
上のように{}波括弧を1行で書く場合、
コメントを入れる位置に注意してください。
{ # 何もしない }
と記述すると{}波括弧の右側もコメントとみなされて エラーが発生します。
{ } # 何もしない
上のように{}波括弧を閉じた後でコメントを入れてください。
(まとめ記事: PowerShell if文)