a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > BAT > 正文

bat批處理 if 命令示例詳解

2020-07-26 20:28:26
字體:
來源:轉載
供稿:網友
if 命令示例詳解

if,正如它E文中的意思,就是“如果”的意思,用來進行條件判斷。翻譯過來的意思就是:如果符合某一條件,便執行后面的命令。
主要用來判斷,1、兩個“字符串”是否相等;2、兩個數值是大于、小于、等于,然后執行相應的命令。
當然還有特殊用法,如結合errorlevel:if errorlevel 1 echo error
或者結合defined(定義的意思):if defined test (echo It is defined) else echo It isn't defined

用法示例:
1、檢測字符串(注意,用if檢測字符串是否相等的時候,后面用的不是“=”,而是“==”):
復制代碼 代碼如下:

@echo off
set "str=this is a test"
REM 檢測變量%str%是否等于test,如果相等,顯示OK,否則顯示NO
if "%str%"=="test" (echo OK) else echo NO
pause>nul

2、檢測數值:(注意,批處理中大于符號不能用:“>”,而用"gtr",其它的也類似)
比較運算符一覽:
EQU - 等于
NEQ - 不等于
LSS - 小于
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于
檢測數值 20 是否大于 15演示代碼:
復制代碼 代碼如下:

@echo off
set /a num1=20
set /a num2=15
if %num1% gtr %num2% echo %num1%大于%num2%
if %num1% EQU %num2% echo %num1%等于%num2%
if %num1% LSS %num2% echo %num1%小于%num2%
pause>nul

3、if結合errorlevel使用:
說明:環境變量errorlevel的初始值為0,當一些命令執行不成功,就會返回一個數值,如:1 ,2 等
IF-ERRORLEVEL 
測試代碼:
復制代碼 代碼如下:

@ECHO OFF 
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中止拷貝操作 
預置錯誤阻止文件拷貝操作 
拷貝過程中寫盤錯誤 
都將顯示出來。
復制代碼 代碼如下:

附錄:
以下就是幾個常用命令的返回值及其代表的意義: 
backup 
0 備份成功 
1 未找到備份文件 
2 文件共享沖突阻止備份完成 
3 用戶用ctrl-c中止備份 
4 由于致命的錯誤使備份操作中止 
diskcomp 
0 盤比較相同 
1 盤比較不同 
2 用戶通過ctrl-c中止比較操作 
3 由于致命的錯誤使比較操作中止 
4 預置錯誤中止比較 
diskcopy 
0 盤拷貝操作成功 
1 非致命盤讀/寫錯 
2 用戶通過ctrl-c結束拷貝操作 
3 因致命的處理錯誤使盤拷貝中止 
4 預置錯誤阻止拷貝操作 
format 
0 格式化成功 
3 用戶通過ctrl-c中止格式化處理 
4 因致命的處理錯誤使格式化中止 
5 在提示“proceed with format(y/n)?”下用戶鍵入n結束 
xcopy 
0 成功拷貝文件 
1 未找到拷貝文件 
2 用戶通過ctrl-c中止拷貝操作 
4 預置錯誤阻止文件拷貝操作 
5 拷貝過程中寫盤錯誤 

4、if還有一個特殊的用法就是可以用來檢測某個變量是否已經被定義
用法示例:
復制代碼 代碼如下:

@echo off
set "str1=ok"
set "str2=no"
if defined str1 echo str1已經被定義
if defined str2 echo str2已經被定義
if defined str3 (echo str3已經被定義) else echo str3 沒有被定義
pause>nul

待續....
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产成人精品国内自产拍免费看 | av中文字幕在线播放 | 欧美高清视频一区二区三区 | 国产三级在线 | 欧美不卡| 国产91在线视频 | 国产精品电影 | 欧美日韩网| 精品欧美乱码久久久久久 | 中文字幕在线观看免费视频 | 国产精品人人做人人爽人人添 | 黄色网址免费 | 人人鲁人人莫一区二区三区 | 亚洲涩涩涩| aaaaaa毛片| 欧美一区二区三区免费在线观看 | 国产精品一区久久久久 | 国产成人在线播放 | 天堂久久一区二区三区 | 国产日韩视频 | 久久精品久久久久电影 | 视频一区欧美 | 国产精品一区免费在线观看 | 日本一区二区三区四区不卡视频 | 电影91久久久 | 久久精品国产精品青草 | 国内精品视频一区二区三区 | 天天干狠狠干 | 色综合天天射 | 久久激情国产 | av综合在线观看 | 韩国一区二区视频 | 国产激情网站 | 中文字幕三级在线看午夜 | 久久久久久久久久久蜜桃 | 亚洲午夜在线 | 青草青草久热精品视频在线观看 | 久久99久久精品 | 天天操天天干天天干 | 毛片网站在线观看 | 色视频网站在线观看 |