網路測試的window bat指令碼分析
阿新 • • 發佈:2019-02-03
測試指令碼內容如下:
@echo off
:: 設定視窗底色為綠色
color 2F
title 網路連通性檢測
echo.
echo.
ping -n 2 223.5.5.5 > %temp%\1.ping & ping -n 2 223.6.6.6 >> %temp%\1.ping
::ping阿里公共DNS
findstr "TTL" %temp%\1.ping > nul
if %errorlevel%==0 (echo √ 外網正常) else (echo × 外網不通)
::根據返回值輸出
echo.
ping -n 2 192.168.0.1 > %temp%\2.ping
findstr "TTL" %temp%\2.ping > nul
if %errorlevel%==0 (echo √ 閘道器正常) else (echo × 閘道器不通)
echo.
ping -n 2 192.168.0.3 > %temp%\3.ping
findstr "TTL" %temp%\3.ping > nul
if %errorlevel%==0 (echo √ 內網正常) else (echo × 內網不通)
echo.
ping -n 2 127.0.0.1 > %temp%\4.ping
findstr "TTL" %temp%\4.ping > nul
if %errorlevel%==0 (echo √ TCP/IP協議正常) else (echo × TCP/IP協議異常)
::刪除快取檔案
if exist %temp%\*.ping del %temp%\*.ping
echo.
echo.
pause
相關知識點
D:\>ping -n 2 123.125.114.144>%temp%\1.ping & ping -n 2 180.76.76.76>>%temp%\1 .ping
D:\>echo %temp%\1.ping
C:\Users\000\AppData\Local\Temp\1.ping
////檢視 PC“環境變數”
TEMP
%USERPROFILE%\AppData\Local\Temp
D:\>cat %temp%\1.ping
正在 Ping 123.125.114.144 具有 32 位元組的資料:
來自 123.125.114.144 的回覆: 位元組=32 時間=2ms TTL=56
來自 123.125.114.144 的回覆: 位元組=32 時間=2ms TTL=56
123.125.114.144 的 Ping 統計資訊:
資料包: 已傳送 = 2,已接收 = 2,丟失 = 0 (0% 丟失),
往返行程的估計時間(以毫秒為單位):
最短 = 2ms,最長 = 2ms,平均 = 2ms
正在 Ping 180.76.76.76 具有 32 位元組的資料:
來自 180.76.76.76 的回覆: 位元組=32 時間=3ms TTL=56
來自 180.76.76.76 的回覆: 位元組=32 時間=3ms TTL=56
180.76.76.76 的 Ping 統計資訊:
資料包: 已傳送 = 2,已接收 = 2,丟失 = 0 (0% 丟失),
往返行程的估計時間(以毫秒為單位):
最短 = 3ms,最長 = 3ms,平均 = 3ms
///// findstr 命令
findstr是Window系統自帶的命令,用於查詢某路徑下指定的一個或多個檔案中包含某些特定字串的行,並將該行完整的資訊打印出來,或者列印查詢字串所在的檔名。其用途和用法類似Linux下的grep命令。findstr命令在MS-DOS下使用。
D:\>findstr "TTL" %temp%\1.ping
來自 123.125.114.144 的回覆: 位元組=32 時間=2ms TTL=56
來自 123.125.114.144 的回覆: 位元組=32 時間=2ms TTL=56
來自 180.76.76.76 的回覆: 位元組=32 時間=3ms TTL=56
來自 180.76.76.76 的回覆: 位元組=32 時間=3ms TTL=56
::錯誤碼errorlevel或稱返回碼,常見的返回碼為0、1
D:\>echo %errorlevel%
0
D:\>