當(dāng)前位置:愛純凈 > 系統(tǒng)教程 > DOS/BAT批處理if exist else的用法介紹

DOS/BAT批處理if exist else的用法介紹

DOS/BAT批處理if exist else的用法介紹

更新時(shí)間:2017-11-22 文章編輯:愛純凈 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):
  DOS/BAT批處理如何使用if exist else語句?我們在使用DOS/BAT批處理時(shí),常常會通過if語句來判斷下面命令的執(zhí)行,如果你不清楚if exist else語句的用法,那么可以看看下文,小編在下文中詳細(xì)介紹了關(guān)于批處理if以及if exist else語句的用法。

DOS/BAT批處理if exist else的用法介紹

  一、批處理if書寫格式

  if 條件表達(dá)式 (語句1) else (語句2),它的含義是:如果條件表達(dá)式成立,那么,就執(zhí)行語句1,否則,將執(zhí)行語句2。

  二、四種批處理if的用法

  1、判斷驅(qū)動(dòng)器、文件或文件夾是否存在,用 if exist 語句

  例如:if exist c:/xue51com.txt (echo c盤下有xue51com.txt存在) else (echo c盤下不存在xue51com.txt)

  2、判斷某兩個(gè)字符串是否相等,用 if “字符串1”==“字符串2” 語句

  例如:if “xue”==“xyz” (echo 字符串xue等于字符串xyz) else (echo 字符串xue不等于字符串xyz),這個(gè)例子主要是檢測字符串(注意,用if檢測字符串是否相等的時(shí)候,后面用的不是“=”,而是“==”)

  3、判斷某兩個(gè)數(shù)值是否相等,用 if 數(shù)值1 equ 數(shù)值2 語句

  舉例:if 1 equ 2 (echo 1等于2) else (echo 1不等于2),這個(gè)例子功能是檢測數(shù)值:

  (注意,批處理中大于符號不能用:“>”,而用“gtr”,其它的也類似)

  比較運(yùn)算符一覽:

  EQU - 等于

  NEQ - 不等于

  LSS - 小于

  LEQ - 小于或等于

  GTR - 大于

  GEQ - 大于或等于

  4、判斷某個(gè)變量是否已經(jīng)被賦值,用 if defined str 語句

  舉例:if defined str (echo 變量str已經(jīng)被賦值,其值為%str%) else (echo 變量str的值為空)

  5、if結(jié)合errorlevel使用

  說明:環(huán)境變量errorlevel的初始值為0,當(dāng)一些命令執(zhí)行不成功,就會返回一個(gè)數(shù)值,如:1 ,2 等

  IF-ERRORLEVEL

  舉例:

  XCOPY F:/test.bat D:/

  IF ERRORLEVEL 1 ECHO 文件拷貝失敗

  IF ERRORLEVEL 0 ECHO 成功拷貝文件

  如果文件拷貝成功,屏幕就會顯示“成功拷貝文件”,否則就會顯示“文件拷貝失敗”

  IF ERRORLEVEL 是用來測試它的上一個(gè)DOS命令的返回值的,注意只是上一個(gè)命令的返回值,而且返回值必須依照從大到小次序順序判斷。

  因此下面的批處理文件是錯(cuò)誤的:

  @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ù)置錯(cuò)誤阻止文件拷貝操作

  IF ERRORLEVEL 4 ECHO 拷貝過程中寫盤錯(cuò)誤

  無論拷貝是否成功,后面的:

  未找到拷貝文件

  用戶通過ctrl-c中止拷貝操作

  預(yù)置錯(cuò)誤阻止文件拷貝操作

  拷貝過程中寫盤錯(cuò)誤

  關(guān)于批處理if以及if exist else語句的用法就給大家講解到這里了,希望能幫助到有此需求的伙伴們!

留言與評論(共有 條評論)
驗(yàn)證碼:

本類最新列表

最熱系統(tǒng)下載