在DOS批處理命令中經常會經過if語句來進行判斷來執行下面的命令, 那麼批處理if語句怎麼用呢,下面學無憂小編就來講說有關批處理if以及if exist else語句的相關內容。
1、批處理if書寫格式
if 條件表達式 (語句1) else (語句2),它的含義是:若是條件表達式成立,那麼,就執行語句1,不然,將執行語句2。
2、四種批處理if的用法
一、判斷驅動器、文件或文件夾是否存在,用 if exist 語句
例如:if exist c:\xue51com.txt (echo c盤下有xue51com.txt存在) else (echo c盤下不存在xue51com.txt)
二、判斷某兩個字符串是否相等,用 if "字符串1"=="字符串2" 語句
例如:if "xue"=="xyz" (echo 字符串xue等於字符串xyz) else (echo 字符串xue不等於字符串xyz),這個例子主要是檢測字符串(注意,用if檢測字符串是否相等的時候,後面用的不是「=」,而是「==」)
三、判斷某兩個數值是否相等,用 if 數值1 equ 數值2 語句
舉例:if 1 equ 2 (echo 1等於2) else (echo 1不等於2),這個例子功能是檢測數值:
(注意,批處理中大於符號不能用:「>」,而用"gtr",其它的也相似)
比較運算符一覽:
EQU - 等於
NEQ - 不等於
LSS - 小於
LEQ - 小於或等於
GTR - 大於
GEQ - 大於或等於
四、判斷某個變量是否已經被賦值,用 if defined str 語句
舉例:if defined str (echo 變量str已經被賦值,其值爲%str%) else (echo 變量str的值爲空)
五、if結合errorlevel使用
說明:環境變量errorlevel的初始值爲0,當一些命令執行不成功,就會返回一個數值,如:1 ,2 等
IF-ERRORLEVEL
舉例:
XCOPY F:\test.bat D:\
IF ERRORLEVEL 1 ECHO 文件拷貝失敗
IF ERRORLEVEL 0 ECHO 成功拷貝文件
若是文件拷貝成功,屏幕就會顯示「成功拷貝文件」,不然就會顯示「文件拷貝失敗」
IF ERRORLEVEL 是用來測試它的上一個DOS命令的返回值的,注意只是上一個命令的返回值,並且返回值必須依照從大到小次序順序判斷。
所以下面的批處理文件是錯誤的:
@ECHO OFF
XCOPY C:\AUTOEXEC.BAT D:\
IF ERRORLEVEL 0 ECHO 成功拷貝文件
IF ERRORLEVEL 1 ECHO 未找到拷貝文件
IF ERRORLEVEL 2 ECHO 用戶經過ctrl-c停止拷貝操做
IF ERRORLEVEL 3 ECHO 預置錯誤阻止文件拷貝操做
IF ERRORLEVEL 4 ECHO 拷貝過程當中寫盤錯誤
不管拷貝是否成功,後面的:
未找到拷貝文件
用戶經過ctrl-c停止拷貝操做
預置錯誤阻止文件拷貝操做
拷貝過程當中寫盤錯誤
以上就是有關OS/BAT批處理if的幾種用法,但願對你有所幫助。測試