Оценка результата пинга в командном файле - PullRequest
0 голосов
/ 20 октября 2018

Я хочу представить всплывающее сообщение, основанное на результатах команды пинга, однако независимо от того, был ли пинг завершен неудачно или прошел пинг, было выполнено сообщение:

start "Checking your PC is on the network- ...."%host% ping localhost |find "TTL=">nul &&  (msg "%username%": Ping to Local Host Failed)  || (msg "%username%" Ping to Local host Succesful)  

start  "Checking Gateway for computer - ..."%host%  ping 10.89.24.1 -t -a -n 5 |find "TTL=">nul &&  (msg "%username%": Ping to Gatewway Failed) || (msg "%username%" Ping to Gateway Succesful) 



start "Checking Apex Server for computer -...."%host% ping 193.120.187.44 -t -a -n 5 |find "TTL=">nul &&  (msg "%username%": Ping to Apex Server Failed) || (msg "%username%" Ping to Apex Server Succesful)


start "Checking Intranet Connection- ...."%host% ping 10.89.208.9 -t -a -n 5 |find "TTL=">nul &&  (msg "%username%": Ping to Intranet Failed) || (msg "%username%" Ping to Intranet Successful)

РЕДАКТИРОВАТЬ Обновленыкод - однако условие if errorlevel 0 выполняется независимо от того, успешен ли пинг, я думаю, это может быть потому, что команда ping выполняется успешно, поэтому errorLevel = 0, независимо от результата, т. е. TTL

@echo off

set host=%COMPUTERNAME%

rem color 0b



timeout 4

start "STEP 1 Checking your PC is on the network- ...."%host% ping localhost -n 4 >NUL
echo %Errorlevel%

if errorLevel 0 (
    msg * "PC is connected to the network"
) else (

 msg * "PC is not connected to the network, check PC is plugged into network point"

)

timeout 4

start  "STEP 2 Checking Gateway for computer - ..."%host%  ping 10.89.24.1 -n 4 >NUL
echo %Errorlevel%
if errorLevel 0 (
 msg * "PC is connected to the Router/Gateway"
) else (
 msg * "PC is not connected to the Router/Gateway"
)


timeout 4
start "STEP 3Checking Apex Server for computer -...."%host% ping 193.120.187.44 -n 4 >NUL
echo %Errorlevel%
if errorLevel 0 (msg * "PC is connected to Apex, chck the APex application  and/or raise an iASSIT"
) else (

 msg * "PC is not connected to the Apex, network down"
)

timeout 4



start "STEP 4 Checking Intranet Connection- ...."%host% ping 10.89.208.9 -n 4 >NUL
echo %Errorlevel%
if errorLevel 0 (msg * "PC is connected to the Intranet"
) else (
 msg * "PC is not connected to the Intranet")

timeout 4


start "STEP 5 Checking Internet Connection- ...."%host% ping www.rotunda.ie -n 4 >NUL
echo %Errorlevel%
if errorLevel 0 (msg * "PC is connected to the Internet"
) else (
 msg * "PC is not connected to the Internet")

1 Ответ

0 голосов
/ 20 октября 2018
Rem An ip that is always available
ping 127.0.0.1
Echo %Errorlevel%
If errorlevel 1 Echo Failed
If errorlevel 0 Echo Sucess

Rem An ip that is unlikely to be available
ping 125.0.0.255
Echo %Errorlevel%
If errorlevel 1 Echo Failed
If errorlevel 0 Echo Sucess

См. if /? и обратите внимание, что оно должно быть в порядке убывания.

Microsoft Windows [Версия 10.0.10240] (c) 2015 Microsoft Corporation.Все права защищены.

C: \ Windows \ system32> "C: \ Users \ David Candy \ Desktop \ TestN.bat"

C: \ Windows \ system32> Rem IP-адрес, который являетсявсегда доступно

C: \ Windows \ system32> ping 127.0.0.1

Pinging 127.0.0.1 с 32 байтами данных: ответ от 127.0.0.1: байты = 32 время <1ms TTL = 128Ответ от 127.0.0.1: bytes = 32 время <1 мс TTL = 128 Ответ от 127.0.0.1: bytes = 32 время <1 мс TTL = 128 Ответ от 127.0.0.1: байты = 32 время <1 мс TTL = 128 </p>

Статистика пинга для 127.0.0.1: Пакеты: Отправлено = 4, Получено = 4, Потерянно = 0 (потеря 0%), Приблизительное время приема-передачи в миллисекундах: Минимум = 0 мс, Максимум = 0 мс, Среднее = 0 мс

C: \ Windows \ system32> Эхо 0

0

C: \ Windows \ system32> Если уровень ошибки 1 Ошибка эха

C: \ Windows \ system32> Если уровень ошибки 0 Echo Sucess

Success

C: \ Windows \ system32> Rem IP-адрес, который вряд ли будет доступен

C: \ Windows \ system32> ping 125.0.0.255

Pinging 125.0.0.255 с 32 байтами данных: истекло время ожидания запроса.Истекло время запроса.Истекло время запроса.Тайм-аут запроса.

Статистика Ping для 125.0.0.255: Пакеты: Отправлено = 4, Получено = 0, Потеряно = 4 (потеря 100%),

C: \ Windows \ system32> Эхо1

1

C: \ Windows \ system32> Если уровень ошибки 1 Ошибка эха

Ошибка

C: \ Windows \ system32> Если уровень ошибки 0 Эхо Успех

Успех

C: \ Windows \ system32>

...