批處理IF ELSE的使用

2021-09-20 16:37:11 字數 2172 閱讀 5663

if  performs conditional processing in batch programs.

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

if [not] errorlevel number command

if [not] string1==string2 command

if [not] exist filename command

not              指定只有條件為 false 的情況下, windows 2000 才應該執行該命令。

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

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

exist filename   如果指定的檔名存在,指定乙個 true 條件。

command          如果條件符合,指定要執行的命令。如果指定的條件為 false,else 命令可隨在命令之後,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 當前數值的字串符表示式;否則,您會得到其數值。

DOS批處理的使用

今天乙個同事詢問我怎麼使用dos批處理來建立乙個目錄,如果目錄已經存在的話,需要先刪除該目錄後,然後在重新建立它。於是 到網上搜尋了一番,寫下這個dos批處理檔案 remkdir.cmd 實現他所需要的功能。echo off 目的 建立乙個目錄,如果目錄已經存在則先刪除該目錄 code by hai...

使用批處理檔案

字尾是bat的檔案就是批處理檔案,是一種文字檔案。簡單的說,它的作用就是自動的連續執行多條命令,批處理檔案的內容就是一條一條的命令。那它有什麼用呢?比如,在啟痺ps軟體時,每次都必須執行 c cd wps c wps spdos c wps py c wps wbx c wps wps 如果每次用w...

批處理使用心得

獲得當前目錄 echo cd set str aa bb cc dd for f i in str do echo i 以上兩行命令在命令提示符直接輸入的話執行出錯,如果寫在bat檔案裡面後執行正常,不知道為什麼?獲得某bat檔案的完成路徑 不一定是當前目錄下 以 c documents and s...