有時候,要求有多個嵌入的“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"