1. 程式人生 > >網路測試的window bat指令碼分析

網路測試的window bat指令碼分析

測試指令碼內容如下:

@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.144Ping 統計資訊: 資料包: 已傳送 = 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.76Ping 統計資訊: 資料包: 已傳送 = 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或稱返回碼,常見的返回碼為01 D:\>echo %errorlevel% 0 D:\>