Пакетные файлы - использование ping для проверки сетевого подключения

Используя командный файл, можно было бы сделать что-то вроде:

ping google.com

если возвращение успеха ECHO Вы подключены к Интернету

else return ECHO Вы не подключены к Интернету

Ответ 1

Вы можете использовать следующий фрагмент:

@echo off
Ping www.google.de -n 1 -w 1000
if errorlevel 1 echo Not connected

Ответ 2

Здесь script, который будет многократно проверять и записывать время (из системных часов) и "Интернет в автономном режиме" в файл журнала в C:\Internet.txt каждый раз, когда интернет переходит в автономный режим. К сожалению, последняя строка в файле журнала появится в конце - я не знаю, как это сделать вверху;)

BTW: Я установил время ожидания (-w) до 20 секунд, потому что я использовал 3G-ключ (с интернет-сетью 2G), поэтому 20-ый раз был единственным способом убедиться, что интернет действительно был или что-то еще было проблемой... Не стесняйтесь менять его на 5000 на 5 секунд или вообще удалять "-w 20000", чтобы оставить его по умолчанию.

@echo off

:START

ping -n 4 4.2.2.2 -w 20000 >nul

if %errorlevel% == 1 (
  echo Internet offline >> C:\Internet.txt
  Time /t >> C:\Internet.txt
)

Timeout /t 30
@set errorlevel = 0

GOTO START

Ответ 3

Вот script, чтобы помочь вам начать с него:

http://www.techimo.com/forum/networking-internet/73769-handy-batch-file-check-network-connectivity.html

ПРИМЕЧАНИЕ. Если ваша система не находится на английском языке, вам нужно будет изменить строки в script, где find используется для фильтрации Reply from с вывода ping на соответствующую строку на системном языке.

Ответ 4

@echo off
echo Checking connection
ping -n 1 www.google.com >nul
if errorlevel 1 (
  cls
  echo Failed
  pause>nul
  exit
)

cls
echo Success!
pause>nul
exit

Ответ 5

Основываясь на ответе от @CSulz, здесь script, который будет печатать "Не подключен" только тогда, когда нет соединения, иначе он будет прокручивать тест через каждые 30 секунд. Первые тесты ping для подключения и распечатывают сообщение об ошибке, если есть проблема. Второй пинг добавляет 30 секунд ожидания, пинговая localhost.

@echo off
:loop
ping www.google.com -n 1 -w 5000 > nul
if errorlevel 1 echo Not connected
ping -n 30 127.0.0.1 > nul
goto loop

Ответ 6

@echo off
:loop
ping www.google.com -n 1 -w 5000 >NUL
if errorlevel 1 echo Not connected
goto Loop