HOWTO · PowerShell

PowerShell スクリプトの特定の場所にジャンプする

このチュートリアルでは、PowerShell のスクリプトの特定の場所にジャンプする方法を説明します。

GOTO コマンドは、バッチ プログラム内のラベル付きの行にジャンプします。 ラベルで指定された行にコマンド処理を指示し、コード行を繰り返す機能を提供します。

PowerShell には GOTO コマンドがありません。 代わりに、ループ ステートメントを使用して、反復またはコード行の繰り返しを行うことができます。

このチュートリアルでは、PowerShell スクリプトの特定の場所にジャンプする方法を説明します。

while ステートメントを使用して、PowerShell のスクリプト内の特定の場所にジャンプする

while ステートメントは、条件が true である限り、ブロック内のコマンドを実行します。 これは、条件が true の場合にコード行を繰り返すことを意味します。

コード例:

$a = 1
while ($a -lt 10) {
$a
$a++
}

最初のコマンドは、値 1 を変数 $a に代入します。 while ブロック内では、$a の値が出力されます。

条件 $a is not less than 10true であり、$a の値は反復ごとに 1 ずつ増加します。 $a の値が 10 に達すると、条件文は false になり、ループは終了します。

その結果、1 から 9 までの数字が出力されます。

出力:

1
2
3
4
5
6
7
8
9

条件が true の場合に実行される while ループをスクリプトに作成できます。 条件が false の場合はスキップされ、スクリプトは次のスポットにジャンプします。

for ステートメントを使用して、PowerShell のスクリプト内の特定の場所にジャンプする

for ステートメントまたは for ループは、条件に基づいてブロック内のコマンドを実行します。 ループ内のコマンドは、条件が false になるまで実行され続けます。

次の例では、条件 $b is less than 6true に評価され、for ループ内のコマンドは、条件が 6 に等しいときに false になるまで実行されます。

コード例:

for ($b=1; $b -lt 6; $b++){
Write-Host $b
}

出力:

1
2
3
4
5

function を使用して、PowerShell のスクリプト内の特定のスポットにジャンプする

別の代替オプションは、コマンドのブロックを関数でラップすることです。 次の例では、$continue の値が y に等しい場合、条件は true になります。

その結果、if ステートメントの最初のコマンドが実行されます。

コード例:

function Choice {
$continue = Read-Host "Do you want to continue?"
if ($continue -eq 'y'){
Write-Host "Welcome to PowerShell tutorials."
}
else {
Write-Host "Exited."
}
}
Choice

出力:

Do you want to continue?: y
Welcome to PowerShell tutorials.

$continue の値が y と等しくない場合、条件は false になり、2 番目のコマンドが実行されます。

出力:

Do you want to continue?: n
Exited.

このようにして、スクリプトを PowerShell の特定の場所に簡単にジャンプさせることができます。