if errorlevel 命令理解

來源:互聯網
上載者:User
轉自:http://hi.baidu.com/lpf2008007/blog/item/a3fa9a3928bcd9f13a87ce8d.html

if errorlevel
功能:
測試前一程式的返回狀態。如果該程式的返回狀態大與或等於所說明的值就執行所說明的DOS命令

if errorlevel 命令讓批次檔測試一程式的返回狀態值,然後根據測試結果作相應的進一步處理,當
MS-DOS遇到一條 IF errorlevel 命令時,它就將前一條MS-DOS命令的返回狀態值與在IF命令中所說的值想比較,如果該程式的返回狀態大於或等於IF命令所說明的值MS-DOS就執行 相應的命令,如果返回狀態值小於所說明的值,MS-DOS就從批次檔中的下一條命令繼續執行,如果用的是IF NOT ERRORLEVEL命令,就正好相反
例子:
下面批次檔執行FORMATION命令,並顯示基於 FORMAT的傳回值的完整狀態資訊:
@echo off
format a:
if errorlevel 5 goto no_response
if errorlevel 4 goto error
if errorlevel 3 goto user_ctrlc
echo successful format operation
goto done
no_response
echo fixed disk will not be formatted
goto done
:error
echo error in processing.format incopplete
goto done
:user_ctrlc
echo format incomplete to ctrl_c
:done
注意:批次檔首先測試最大的返回狀態值。記住,如果返回狀態值大於 或等於有IF命令所說明的值,MS-DOS就執行所說明的命令,如果該批次檔首先測試返回狀態值是否為3,那麼MS-DOS會始終執行:user ctrlc括弧後面的處理,而不論返回狀態值是3。4。5。這是因為這些返回狀態值都是大於或等於3的通過將測試次序倒過來,該批次檔就能對各返回狀 態值分別執行正確的那組命令
   通過組合IF ERRORLEVEL和IF not ERRORLEVEL,可以測試一特定的返回狀態值。例如,可以用下列命令測試返回狀態值是否為3:
if errorlevel 3 if not errorlevel 4 goto user_ctrlc

5.1.9 對返回狀態值是否小於一特定值進行測試
將not算符用於 IF ERRORLEVEL命令,批次檔就能測試一傳回值是否小於一具體值,如果是,MS-DOS就執行所說明的命令:否側,它就從批次檔中的 下一條命令處繼續執行,IF not errorlevel 命令的 格式如下:
if not errorlevel 值 DOS命令

5.1.10 對特定 ERRORLEVEL 值進行測試

   當一個批次檔變的 較為複雜時,可能會需要將一條 IF ERRORLEVEL命令與一條 IF NOT ERRORLEVEL m命令後側枝從 0 至4的返回狀態值
@echo off
diskcopy a: b:
if errorlevel 0 if not errorlevel 1 echo exit 0
if errorlevel 1 if not errorlevel 2 echo exit 1
if errorlevel 2 if not errorlevel 3 echo exit 2
if errorlevel 3 if not errorlevel 4 echo exit 3
if errorlevel 4 if not errorlevel 5 echo exit 4
在第一條IF命令中。第一個測試(if errorlevel 0)保證返回狀態值至少為0:第二個測試(IF NOT ERRORLEVEL 1)保證返回狀態值小於1.將這兩個測試混合起來。該命令就保證返回狀態值為0,類試的,第二條IF命令返回狀態值為1,等等。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.