Batch-script-break-statement-implementation

提供:Dev Guides
移動先:案内検索

Breakステートメントの実装

breakステートメントは、プログラミング言語内のループ内の制御フローを変更するために使用されます。 breakステートメントは通常、ループ構造で使用され、最も内側のループを即座に終了させるために使用されます。

バッチスクリプト言語には、ブレークを行う直接の「for」ステートメントはありませんが、ラベルを使用して実装できます。 次の図は、バッチスクリプトでのbreakステートメントの実装の説明図を示しています。

ブレークステートメントの実装

上記の実装について注意すべき重要な点は、2つの「if」条件の関与です。 2番目の「if」条件は、ブレークが実装されるタイミングを制御するために使用されます。 2番目の「if」条件がtrueと評価された場合、コードブロックは実行されず、カウンターが直接実装されます。

次に、breakステートメントの実装を実行する方法の例を示します。

@echo off
SET/A "index=1"
SET/A "count=5"
:while
if %index% leq %count% (
   if %index%==2 goto :Increment
      echo The value of index is %index%
:Increment
   SET/A "index=index + 1"
   goto :while
)

上記のプログラムについて注意すべき重要なことは、:Incrementと呼ばれるラベルの追加です。 indexの値が2に達したら、その値をコマンドプロンプトにエコーするステートメントをスキップし、indexの値を直接インクリメントします。

出力

上記のコマンドは、次の出力を生成します。

The value of index is 1
The value of index is 3
The value of index is 4
The value of index is 5