執行批處理bat程式中的條件處理

NO IMAGE

以下程式碼是使用 if /? >> C:\help.txt 生成的。
—————————————————————–

執行批處理程式中的條件處理。

IF [NOT] ERRORLEVEL number command
IF [NOT] string1==string2 command
IF [NOT] EXIST filename command

NOT               指定只有條件為 false 的情況下, Windows XP 才
                    應該執行該命令。

ERRORLEVEL number 如果最後執行的程式返回一個等於或大於
                    指定數字的退出編碼,指定條件為 true。

string1==string2 如果指定的文字字串匹配,指定條件為 true。

EXIST filename    如果指定的檔名存在,指定條件為 true。

command           如果符合條件,指定要執行的命令。如果指定的
                     條件為 FALSE,命令後可跟一個執行 ELSE 
                      關鍵字後的命令的 ELSE 命令。

ELSE 子句必須在 IF 之後出現在同一行上。例如:

    IF EXIST filename. (
        del filename.
    ) ELSE (
        echo filename. missing.
    )

因為 del 命令需要用一個新行終止,以下子句不會有效:

IF EXIST filename. del filename. ELSE echo filename. missing

由於 ELSE 命令必須與 IF 命令的尾端在同一行上,以下子句也
不會有效:

    IF EXIST filename. del filename.
    ELSE echo filename. missing

如果都放在同一行上,以下子句有效:

    IF EXIST filename. (del filename.) ELSE echo filename. missing

如果命令副檔名被啟用,IF 會如下改變:

    IF [/I] string1 compare-op string2 command
    IF CMDEXTVERSION number command
    IF DEFINED variable command

其中,比較運算子可以是:

    EQU – 等於
    NEQ – 不等於
    LSS – 小於
    LEQ – 小於或等於
    GTR – 大於
    GEQ – 大於或等於

及 /I 開關;如果該開關被指定,則說明要進行的字串比較不分
大小寫。/I 開關可以用於 IF 的 string1==string2 的形式上。這些
比較都是通用的;原因是,如果 string1 和 string2 都是由數字
組成的,字串會被轉換成數字,進行數字比較。

CMDEXTVERSION 條件的作用跟 ERRORLEVEL 的一樣,除了它
是在跟與命令副檔名有關聯的內部版本號比較。第一個版本
是 1。每次對命令副檔名有相當大的增強時,版本號會增加一個。
命令副檔名被停用時,CMDEXTVERSION 條件不是真的。

如果已定義環境變數,DEFINED 條件的作用跟 EXISTS 的一樣,
除了它取得一個環境變數,返回的結果是 true。

如果沒有名為 ERRORLEVEL 的環境變數,%ERRORLEVEL%
會擴充為 ERROLEVEL 當前數值的字串表示式;否則,您會得到
其數值。執行程式後,以下語句說明 ERRORLEVEL 的用法:

    goto answer%ERRORLEVEL%
    :answer0
    echo Program had return code 0
    :answer1
    echo Program had return code 1

您也可以使用以上的數字比較:

    IF %ERRORLEVEL% LEQ 1 goto okay

如果沒有名為 CMDCMDLINE 的環境變數,%CMDCMDLINE%
將在 CMD.EXE 進行任何處理前擴充為傳遞給 CMD.EXE 的原始
命令列;否則,您會得到其數值。

如果沒有名為 CMDEXTVERSION 的環境變數,
%CMDEXTVERSION% 會擴充為 CMDEXTVERSION 當前數值的
字串符表示式;否則,您會得到其數值。 

您可能感興趣的文章:

PHP啟動windows應用程式、執行bat批處理、執行cmd命令的方法(exec、system函式詳解)批處理bat根據星期啟動程式批處理程式刪除自身 bat批處理dos 刪除資料夾 rdWindows 2000下用DOS命令刪除資料夾dos下刪除資料夾和檔案的方法如何用DOS命令刪除頑固資料夾啊利用bat批處理程式通過DOS命令列刪除所有的空資料夾的方法