Задать вопрос
@Dem0lisher

Как получить ERRORLEVEL при проверке доступности сервера из bat без команды ping?

Есть bat файл, который проверяет доступность сервера используя пинг примерно так:
@ echo off
setlocal enabledelayedexpansion
ping myserver.ru /l 32 /n 4
if "!ERRORLEVEL!"=="0" (
и т.д.
.....
Соответственно если пингуется - ок. Если нет - дальше обрабатывается ошибка.
Вот как сделать такую же проверку только без пинга? Хочу вообще закрыть пинг на сервере
  • Вопрос задан
  • 20 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
@shido21412
Можно использовать что-то вроде
@echo off
setlocal enabledelayedexpansion

:: Проверяем доступность порта 80 через TCP
powershell -noprofile -command "$tcp = New-Object System.Net.Sockets.TcpClient; $result = $tcp.ConnectAsync('myserver.ru', 80).Wait(1000); if ($tcp.Connected) { exit 0 } else { exit 1 }"

if "!ERRORLEVEL!"=="0" (
    echo Сервер доступен.
) else (
    echo Сервер недоступен.
    goto error_handling
)

 ... остальной код ...

:error_handling
:: Обработка ошибки
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы