當(dāng)前位置:軟件學(xué)堂 > 資訊首頁(yè) > 軟件教程 > 辦公軟件 > DOS/BAT批處理if exist else 語(yǔ)句的幾種用法

DOS/BAT批處理if exist else 語(yǔ)句的幾種用法

2014/11/13 09:50:10作者:佚名來(lái)源:網(wǎng)絡(luò)

移動(dòng)端

在DOS批處理命令中常常會(huì)通過(guò)if語(yǔ)句來(lái)進(jìn)行判斷來(lái)執(zhí)行下面的命令, 那么批處理if語(yǔ)句怎么用呢,下面學(xué)無(wú)憂小編就來(lái)說(shuō)說(shuō)有關(guān)批處理if以及if exist else語(yǔ)句的相關(guān)內(nèi)容。
批處理if用法
一、批處理if書(shū)寫格式
if 條件表達(dá)式 (語(yǔ)句1) else (語(yǔ)句2),它的含義是:如果條件表達(dá)式成立,那么,就執(zhí)行語(yǔ)句1,否則,將執(zhí)行語(yǔ)句2。
二、四種批處理if的用法
1、判斷驅(qū)動(dòng)器、文件或文件夾是否存在,用 if exist 語(yǔ)句
例如:if exist c:\xue51com.txt (echo c盤下有xue51com.txt存在) else (echo c盤下不存在xue51com.txt)

2、判斷某兩個(gè)字符串是否相等,用 if "字符串1"=="字符串2" 語(yǔ)句
例如:if "xue"=="xyz" (echo 字符串xue等于字符串xyz) else (echo 字符串xue不等于字符串xyz),這個(gè)例子主要是檢測(cè)字符串(注意,用if檢測(cè)字符串是否相等的時(shí)候,后面用的不是“=”,而是“==”)

3、判斷某兩個(gè)數(shù)值是否相等,用 if 數(shù)值1 equ 數(shù)值2 語(yǔ)句
舉例:if 1 equ 2 (echo 1等于2) else (echo 1不等于2),這個(gè)例子功能是檢測(cè)數(shù)值:
(注意,批處理中大于符號(hào)不能用:“>”,而用"gtr",其它的也類似) 
比較運(yùn)算符一覽: 
EQU - 等于 
NEQ - 不等于 
LSS - 小于 
LEQ - 小于或等于 
GTR - 大于 
GEQ - 大于或等于 

4、判斷某個(gè)變量是否已經(jīng)被賦值,用 if defined str 語(yǔ)句
舉例:if defined str (echo 變量str已經(jīng)被賦值,其值為%str%) else (echo 變量str的值為空)

5、if結(jié)合errorlevel使用
說(shuō)明:環(huán)境變量errorlevel的初始值為0,當(dāng)一些命令執(zhí)行不成功,就會(huì)返回一個(gè)數(shù)值,如:1 ,2 等
IF-ERRORLEVEL
舉例:
XCOPY F:\test.bat D:\
IF ERRORLEVEL 1 ECHO 文件拷貝失敗
IF ERRORLEVEL 0 ECHO 成功拷貝文件
如果文件拷貝成功,屏幕就會(huì)顯示“成功拷貝文件”,否則就會(huì)顯示“文件拷貝失敗” 
IF ERRORLEVEL 是用來(lái)測(cè)試它的上一個(gè)DOS命令的返回值的,注意只是上一個(gè)命令的返回值,而且返回值必須依照從大到小次序順序判斷。
因此下面的批處理文件是錯(cuò)誤的:
@ECHO OFF
XCOPY C:\AUTOEXEC.BAT D:\
IF ERRORLEVEL 0 ECHO 成功拷貝文件
IF ERRORLEVEL 1 ECHO 未找到拷貝文件
IF ERRORLEVEL 2 ECHO 用戶通過(guò)ctrl-c中止拷貝操作
IF ERRORLEVEL 3 ECHO 預(yù)置錯(cuò)誤阻止文件拷貝操作
IF ERRORLEVEL 4 ECHO 拷貝過(guò)程中寫盤錯(cuò)誤
無(wú)論拷貝是否成功,后面的:
未找到拷貝文件
用戶通過(guò)ctrl-c中止拷貝操作
預(yù)置錯(cuò)誤阻止文件拷貝操作
拷貝過(guò)程中寫盤錯(cuò)誤
以上就是有關(guān)OS/BAT批處理if的幾種用法,希望對(duì)你有所幫助。

標(biāo)簽: DOS  批處理