HOWTO · Batch

在批處理指令碼中使用 IF ELSE 和 GOTO

本教程將展示我們如何在批處理指令碼中組合 IF ELSE 和 GOTO 命令。

本頁內容

在本文中,我們將結合 IF ELSEGOTO 命令來了解我們如何使這些命令一起工作,並提供一個示例和解釋以便更好地理解。

在批處理指令碼中使用 IF ELSEGOTO 語句

IF ... ELSE 是一個條件命令。此外,GOTO 是一個關鍵字,你可以通過它跳過執行程式碼的特定部分。

IF ... ELSE 的一般格式是 IF [CONDITION] [COMMANDS] ELSE [COMMANDS]GOTO 的一般格式是 GOTO LABELLABEL 是你要開始的特定點。

在我們的示例中,我們將對兩個值求和並檢查它們是否小於 20。如果小於 20,我們將顯示結果值小於 20 的訊息。

否則,我們將顯示訊息大於 20 的訊息。

批處理指令碼:

@echo off
SET /A x = 10
SET /A y = 25
SET /A z = %x% + %y%
ECHO The Sum of a and b is %z%
IF %z% LSS 20 ( GOTO :lessThan )
echo The result is greater than 20
GOTO :end

:lessThan
echo The result is less than 20

:end

SET /A x = 10 行中,我們建立了一個算術變數 x 並賦予它 10 的值。在下一行,SET /A y = 5,我們宣告瞭另一個變數 y 並賦予它 5 的值。

SET /A z = %x% + %y% 這一行宣告瞭另一個變數 z,它儲存了 xy 之和的結果值。下一行 ECHO Sum of a and b is %z% 顯示了 xy 之和的輸出。

IF %z% LSS 20 ( GOTO :lessThan ) 這行檢查結果值是否小於 20。如果小於 20,它將跳過下一行並從標記 lessThan 開始,我們顯示訊息結果小於 20

否則,它將列印一條訊息結果大於 20,並通過 GOTO :end 行,程式碼將跳轉到標籤:end

輸出:

The Sum of a and b is 35
The result is greater than 20

本文中討論的方法是使用批處理指令碼編寫的,並且僅適用於 windows CMD 環境。