国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > BAT > 正文

IF-ERRORLEVEL使用方法

2020-06-09 13:36:09
字體:
供稿:網(wǎng)友

今天遠(yuǎn)程一個(gè)客戶,發(fā)現(xiàn)他的服務(wù)器會(huì)不定時(shí)自動(dòng)斷開網(wǎng)絡(luò),導(dǎo)致客戶端連接不了服務(wù)端,但是重啟服務(wù)以后又恢復(fù)正常,初步判斷可能是由于某個(gè)系統(tǒng)服務(wù)與winpacp有沖突,建議用戶恢復(fù)操作系統(tǒng),他想等晚上再開始操作,今天就只好一直運(yùn)行個(gè)ping,發(fā)現(xiàn)timed out就手動(dòng)重啟服務(wù)。我記得if可以利用程序的返回值作為判斷,就幫他寫了這個(gè)腳本:

代碼如下:
@echo off
: p
ping 61.152.XX.XX
IF ERRORLEVEL 1 goto aa
IF ERRORLEVEL 0 goto bb
:aa
echo 正在重啟軟件服務(wù)...
net stop MSSQLSERVER
net start MSSQLSERVER
goto p
:bb
echo 繼續(xù)ping中。。。
goto p

這段命令的作用是,ping 61.152.XX.XX這個(gè)IP,如果ping不通則重啟mssql服務(wù),然后繼續(xù)ping,如果能夠ping通,還是繼續(xù)ping...

我們都知道if是命令行下的一個(gè)條件判斷語句,ERRORLEVEL是它的一個(gè)參數(shù),翻譯過來就是“錯(cuò)誤返回碼”的意思,它的作用是判斷前一條命令的錯(cuò)誤返回值,然后和定義的字符值進(jìn)行比較,再?zèng)Q定進(jìn)行什么動(dòng)作。
格式是這樣:

if ERRORLEVEL nubmer commend
例:if ERRORLEVEL 1 echo 返回值等于1

那么大家就要問了,我怎么獲取到前一個(gè)命令的返回值呢?
方法很簡(jiǎn)單,拿ping來說,我們先運(yùn)行一個(gè)ping 127.0.0.1
運(yùn)行結(jié)果是Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
這時(shí)候我們輸入,echo %errorlevel%,就可以看到返回值是0,
然后我們?cè)趐ing一個(gè)不存在的ip,比如192.192.192.192
ping命令顯示 Request timed out.。
ok,我們?cè)谟胑cho %errorlevel%查一下返回值是多少。
現(xiàn)在變成了1。

你也可以用這個(gè)方法來查詢其他命令的返回值,比如copy、dir等等。
當(dāng)然if ERRORLEVEL對(duì)數(shù)值的比較方法不僅僅限于等于。在微軟的幫助中我們可以看到:

IF %ERRORLEVEL% LEQ 1 goto okay

這里的LEQ表示“小于等于”,全部的比較參數(shù)如下:
EQU - 等于
NEQ - 不等于
LSS - 小于
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于

如有錯(cuò)誤,感謝指正。



IF-ERRORLEVEL

建立TEST4.BAT,內(nèi)容如下:
@ECHO OFF 
XCOPY C:/AUTOEXEC.BAT D:/
IF ERRORLEVEL 1 ECHO 文件拷貝失敗 
IF ERRORLEVEL 0 ECHO 成功拷貝文件 
然后執(zhí)行文件:
C:/>TEST4
如果文件拷貝成功,屏幕就會(huì)顯示“成功拷貝文件”,否則就會(huì)顯示“文件拷貝失敗”。 
IF ERRORLEVEL 是用來測(cè)試它的上一個(gè)DOS命令的返回值的,注意只是上一個(gè)命令的返回值,而且返回值必須依照從大到小次序順序判斷。
因此下面的批處理文件是錯(cuò)誤的:
@ECHO OFF 
XCOPY C:/AUTOEXEC.BAT D:/ 
IF ERRORLEVEL 0 ECHO 成功拷貝文件 
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 民乐县| 青州市| 靖边县| 定陶县| 石渠县| 诏安县| 沂南县| 金平| 沁阳市| 镇江市| 通海县| 隆安县| 大荔县| 慈利县| 古浪县| 新兴县| 揭东县| 光山县| 建瓯市| 拉孜县| 盐山县| 赞皇县| 太原市| 信丰县| 思南县| 灌云县| 长岛县| 南川市| 拉萨市| 桐乡市| 周口市| 溧阳市| 漠河县| 兰坪| 华池县| 碌曲县| 大名县| 衡阳县| 白玉县| 平远县| 湛江市|