HOWTO · Batch
批處理指令碼中的 If ELSE 條件
本教程將討論批處理指令碼中 IF ELSE 條件的結構。
本頁內容
本文將討論最常用的 IF ... ELSE 條件,並檢視有關 IF ... ELSE 命令的示例。
在批處理指令碼中使用 IF ELSE 條件
IF ... ELSE 命令的一般格式類似於 IF [CONDITION] [COMMANDS] ELSE [COMMANDS]。讓我們舉一個例子並描述它以便更好地理解。
我們將在這個例子中對兩個變數求和,並檢查結果是否小於 20。
批處理指令碼:
SET /A x = 10
SET /A y = 5
SET /A z = %x% + %y%
ECHO Sum of a and b is %z%
IF %z% LSS 20 (echo The result is less than 20) ELSE (echo The result is greater than 20)
在 SET /A x = 10 行中,我們建立了一個算術變數 x 並賦予它 10 的值。在下一行,SET /A y = 5,我們宣告瞭另一個變數 y 並賦予它 5 的值。
SET /A z = %x% + %y% 這一行宣告瞭另一個變數 z,它儲存了 x 和 y 之和的結果值。下一行 ECHO Sum of a and b is %z% 顯示了 x 和 y 之和的輸出。
最後一行 IF %z% LSS 20 (echo Result is less than 20) ELSE (echo Result is greater than 20) 是一個 IF ... ELSE 命令,用於檢查 c 的值是否包含 x 和 y 之和的結果值小於 20。如果結果小於 20,則列印 Result is less than 20;否則,它將列印 Result is greater than 20。
你會注意到我們使用了關鍵字 LSS。該關鍵字是代表 Less Than 的運算子,當左側值小於右側值時返回 true。
輸出:
The result is less than 20
我們可以在 IF ELSE 命令中使用的運算子
你可以在 IF ... ELSE 命令中使用關係運算子。
EQU- 等於NEQ- 不等於LSS- 小於LEQ- 小於或等於GTR- 大於GEQ- 大於或等於
此外,我們還有可以與 IF ... ELSE 命令一起使用的邏輯運算子。
AND- 邏輯AND運算子AND- 邏輯OR運算子OR- 邏輯NOT運算子
請注意,你也可以將 == 用作等號。那麼你不需要使用關鍵字 EQU。
這裡討論的示例是使用批處理指令碼編寫的,並且只能在 windows CMD 環境中工作。