Пакетная заставка или что-то подобное
Я написал простой пакетный скрипт (который будет преобразован в.exe позже), который проверяет, достигнут ли сервер перед открытием его веб-страницы:
@echo off
ping -n 1 -w 1000 10.###.###.1 | find "TTL=" >nul
if errorlevel 1 (
msg "%username%" You are not connected via VPN. You have to conect to VPN first!
if %ERRORLEVEL% NEQ 0 (
echo You are not connected via VPN. You have to conect to VPN first!
)
) else (
ping -n 1 -w 1000 some.server.name | find "TTL=" >nul
if errorlevel 1 (
ping -n 1 -w 1000 192.168.###.### | find "TTL=" >nul
if errorlevel 1 (
msg "%username%" Couldn't find requested Server. Please contact the administrator!
if %ERRORLEVEL% NEQ 0 (
echo Couldn't find requested Server. Please contact the administrator!
)
) else (
msg "%username%" Connected but using NO-DNS Fallback. Please inform the administrator!
if %ERRORLEVEL% NEQ 0 (
echo Connected but using NO-DNS Fallback. Please inform the administrator!
)
cmd /c start "" "http://192.168.###.###"
)
) else (
cmd /c start "" "http://some.server.name"
)
)
Это прекрасно работает и делает то, что должно.
В любом случае, в случае сбоя, когда сервер по какой-то причине не подключен, все равно требуется некоторое время (я ожидал бы 2 секунды, но на самом деле это занимает до 9 секунд), пока пользователь не получит сообщение в качестве обратной связи... пока он не не знаю, что код делает что-то.
Интересно, есть ли возможность использовать только пакетный режим для отображения какого-то "экрана-заставки" (сообщение / изображение) только во время эхо-запросов, пока он не подключится или не отобразится сообщение об ошибке, позволяющее пользователю знать, что скрипт запущен?
Я говорю только с использованием пакета, потому что, поскольку это просто "умная" URL-ссылка, я бы не хотел прилагать слишком много усилий, например, с использованием Java или чего-то в этом роде.
1 ответ
Я не нашел решения для "Заставки", поэтому мне все равно будет интересно.
Но я нашел обходной путь, который пока подходит, используя -w
опция для пинга и установки максимального времени ожидания 1 сек. что нормально для пользователя ждать.
Но я все же предпочел бы способ "заставки", если у кого-то есть решение для этого.