DOS/BAT批處理中如何使用if exist else語句?我們在使用DOS/BAT批處理時,經(jīng)常會通過if語句來判斷下面命令的執(zhí)行情況。如果不知道if exist else語句的用法,
那你可以看看下面。邊肖詳細介紹了批量if和if exist else語句的用法。
第一,批量如果書寫格式
如果條件表達式(語句1) else(語句2),其含義是:如果條件表達式成立,則執(zhí)行語句1,否則執(zhí)行語句2。
二、四批if的用法
1.若要確定驅(qū)動器、文件或文件夾是否存在,請使用if exist語句。
For example, if there is c:/xue51com.txt (there is xue51com.txt under the Echo C disk) else (there is no xue51com.txt under the Echo C disk).
2.判斷兩個字符串是否相等,使用if“string 1”==“string 2”語句。
比如如果“薛”==“XYZ”(回聲字符串薛等于字符串xyz) else(回聲回聲字符串薛不等于字符串)這個例子主要是檢測字符串(注意
如果用于檢查字符串是否相等,則不是“=”,而是“==”。
3.要判斷兩個值是否相等,請使用if value 1 equ value 2語句。
示例:如果1eq2 (echo 1等于2) else (echo 1不等于2),此示例的功能是檢測值:
(注意,在批處理中不能使用大于號: "",但是" gtr ",和其他類似。)
比較運算符列表:
equal等于
NEQ-不等于
less不到
less小于或等于
GTR-大于
GEQ-大于或等于
4,判斷一個變量是否已經(jīng)賦值,用if defined str語句。
示例:if defined str (echo變量str已賦值為% str %)else(echo變量str的值為空)。
5, if used in combination with the error level.
描述:環(huán)境變量errorlevel的初始值是0。當某些命令執(zhí)行不成功時,會返回一個數(shù)值,如1、2等。
IF-ERRORLEVEL
例如:
XCOPY F:/test.bat D:/
如果錯誤級別1回顯文件復(fù)制失敗。
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 預(yù)置錯誤阻止文件拷貝操作
IF ERRORLEVEL 4 ECHO 拷貝過程中寫盤錯誤
無論拷貝是否成功,后面的:
未找到拷貝文件
用戶通過ctrl-c中止拷貝操作
預(yù)置錯誤阻止文件拷貝操作
拷貝過程中寫盤錯誤
關(guān)于批處理if以及if exist else語句的用法就給大家講解到這里了,希望能幫助到有此需求的伙伴們!