批處理嵌套if語句

有時候,要求有多個嵌入的“if”語句。 以下是本聲明的一般形式。

if(condition1) if (condition2) do_something

所以只有當條件1和條件2都滿足時,才會執行do_something塊中的代碼。

以下是如何使用嵌套if語句的示例。

@echo off
SET /A a=5
SET /A b=10
if %a%==5 if %b%==10 echo "The value of the variables are correct"

以上命令產生以下輸出。

"The value of the variables are correct"

if errorlevel
另一個特例是“if errorlevel”,它用於測試運行的最後一個命令的退出代碼。 各種命令發出整數退出代碼來表示命令的狀態。 通常,如果命令成功完成,則命令通過傳遞0;如果命令失敗,命令通過傳遞1

以下是此語句的一般語法。

if errorlevel n somecommand

其中“n”是整數退出碼之一。

goto語句

一般來說,批處理檔的執行是逐行進行的,每行依次運行命令。 但是,通常希望在跳過其他部分的同時執行批處理檔的特定部分。 跳轉到特定部分的能力由“goto”命令(寫成一個字)提供。 目標部分在開頭用帶冒號的名稱標注。 因此,代碼看起來像 -

...
goto :label
...some commands
:label
...some other commands

執行將跳過“一些命令”,並開始“其他一些命令”。 標籤可以是腳本中任何地方的一行,包括在“goto”命令之前。“if”語句中經常出現“goto”命令。 例如,可能有一個類型的命令 -

if (condition) goto :label

以下是如何使用goto語句的示例。

@echo off
SET /A a=5

if %a%==5 goto :labela
if %a%==10 goto :labelb

:labela
echo "The value of a is 5"

exit /b 0

:labelb
echo "The value of a is 10"

執行上面示例代碼,得到以下結果 -

"The value of a is 5"

上一篇: 批處理決策結構 下一篇: 批處理運算符