While 語句實現



批處理指令碼中沒有直接的 while 語句,但我們可以使用 if 語句和標籤非常輕鬆地實現此迴圈。

下圖顯示了此迴圈的圖解說明。

While Statement Implementation

while 實現的第一部分是設定用於控制“if”條件評估的計數器。然後我們定義我們的標籤,該標籤將用於包含 while 迴圈實現的整個程式碼。“if”條件評估表示式。如果表示式計算結果為真,則執行程式碼塊。如果條件計算結果為假,則退出迴圈。當執行程式碼塊時,它將返回到標籤語句以再次執行。

以下是 while 語句通用實現的語法。

語法

Set counters
:label
If (expression) (
   Do_something
   Increment counter
   Go back to :label
)
  • while 實現的整個程式碼都放置在標籤內。

  • 計數器變數必須在 while 迴圈實現開始之前設定或初始化。

  • while 條件的表示式使用“if”語句完成。如果表示式計算結果為真,則執行“if”迴圈內的相關程式碼。

  • 需要在“if”語句內正確遞增計數器,以便 while 實現可以在某個時間點終止。

  • 最後,我們將返回到我們的標籤,以便我們可以再次評估我們的“if”語句。

以下是一個 while 迴圈語句的示例。

示例

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

在上面的示例中,我們首先將索引整型變數的值初始化為 1。然後我們在“if”迴圈中的條件是,我們正在評估表示式的條件,即索引是否小於計數變數的值。只要索引的值小於 5,我們就會列印索引的值,然後遞增索引的值。

輸出

上述命令產生以下輸出。

The value of index is 1
The value of index is 2
The value of index is 3
The value of index is 4
The value of index is 5
batch_script_return_code.htm
廣告