|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Вставить в скрипт условие на проверку подключения к интернету |
|
|
CMD/BAT - [решено] Вставить в скрипт условие на проверку подключения к интернету
|
Новый участник Сообщения: 22 |
Есть такой скрипт на разрыв соединения, далее подключение и если не получается подключиться, попытки подключения продолжаются через интервал.
@echo off :: Имя соединения set connection=pppoe :: Разорвать соединение rasdial "%connection:"=%" /disconnect :: Задержка между проверками, секунд set pause=5 :LOOP set connected=0 for /f "delims=" %%i in ('rasdial') do ( if "%%i"=="%connection:"=%" set connected=1 ) if %connected%==0 ( rasdial "%connection:"=%" ЛОГИН ПАРОЛЬ ping -n %pause% 127.0.0.1>nul 2>&1 goto LOOP ) else ( exit ) Я конечно же ничерта не понимаю, что такое delims, что такое set connected, об остальном имею общее представление. Скрипт работает. Но уже год пытаюсь, но не получается вставить условие, чтобы после строки "rasdial "%connection:"=%" ЛОГИН ПАРОЛЬ" проверялось бы, установлено подключение или нет, и в зависимости от этого уже - либо exit если установлено, либо пошёл на LOOP, если не установлено. В оригинальном скрипте приходится ждать интервал даже после успешного установления подключения. Можно конечно просто удалить этот интервал, но мне нужно именно с ним. |
|
Отправлено: 14:36, 25-02-2024 |
Старожил Сообщения: 250
|
Профиль | Отправить PM | Цитировать Цитата wow7:
всё получится, при достаточной настойчивости или года уже не те ? отключаем сетевую крату |
|
Отправлено: 16:16, 25-02-2024 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 22
|
Профиль | Отправить PM | Цитировать зачем отключать сетевую карту? проверку наличия или отсутствия интернета надо сделать теми командами, которые уже есть в скрипте.
|
Отправлено: 18:08, 25-02-2024 | #3 |
Старожил Сообщения: 250
|
Профиль | Отправить PM | Цитировать Цитата wow7:
|
|
Отправлено: 03:06, 27-02-2024 | #4 |
Новый участник Сообщения: 22
|
Профиль | Отправить PM | Цитировать Serguei Kouzmine, а разве нельзя обойтись использованием только того, что уже есть в скрипте if "%%i"=="%connection:"=%" set connected=1
) if %connected%==0 ( ? Ведь на втором круге проверка наличия либо отсутствия подключения срабатывает как надо, и если подключение уже установлено, скрипт закрывается. |
|
Отправлено: 08:35, 27-02-2024 | #5 |
Ветеран Сообщения: 4566
|
Профиль | Отправить PM | Цитировать wow7, так?
@echo off :: Имя соединения set "connection=pppoe" :: Разорвать соединение rasdial "%connection:"=%" /disconnect :: Задержка между проверками, секунд set "pause=5" :LOOP Call :CHECKCONN if %connected%==0 ( rasdial "%connection:"=%" ЛОГИН ПАРОЛЬ ping -n %pause% 127.0.0.1>nul 2>&1 goto LOOP ) :EOF :CHECKCONN set "connected=0" for /f "delims=" %%i in ('rasdial') do ( if "%%i"=="%connection:"=%" set "connected=1" ) |
Последний раз редактировалось NickM, 27-02-2024 в 09:17. Отправлено: 09:11, 27-02-2024 | #6 |
Новый участник Сообщения: 22
|
Профиль | Отправить PM | Цитировать NickM, нет, это работает точно так же, как и оригинальный скрипт. в случае успешного установления соединения всё равно выжидает установленный интервал, и только потом скрипт закрывается.
|
Отправлено: 21:41, 27-02-2024 | #7 |
Ветеран Сообщения: 4566
|
Профиль | Отправить PM | Цитировать Цитата wow7:
@echo off cls :: Имя соединения set "connection=pppoe" :: Разорвать соединение rasdial "%connection:"=%" /disconnect :: Задержка между проверками, секунд set "pause=5" :LOOP call :CHECKCONN if %connected%==0 ( rasdial "%connection:"=%" ЛОГИН ПАРОЛЬ for /l %%a in (1,1,%pause%) do (call :TIMEOUT1) goto :LOOP ) goto :EOF :TIMEOUT1 call :CHECKCONN if %connected%==1 ( goto :EOF) timeout /t 1 /nobreak > nul :CHECKCONN set "connected=0" for /f "delims=" %%i in ('rasdial') do ( if "%%i"=="%connection:"=%" set "connected=1" ) |
|
Последний раз редактировалось NickM, 28-02-2024 в 21:08. Отправлено: 13:20, 28-02-2024 | #8 |
Новый участник Сообщения: 22
|
Профиль | Отправить PM | Цитировать NickM, Да, теперь наконец работает!
![]() |
Отправлено: 18:27, 28-02-2024 | #9 |
Ветеран Сообщения: 4566
|
Профиль | Отправить PM | Цитировать Цитата wow7:
Цитата wow7:
|
||
Отправлено: 21:09, 28-02-2024 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBS/WSH/JS - [решено] Скрипт на VBS на проверку содержимого файла и его замене | ospekt00 | Скриптовые языки администрирования Windows | 5 | 28-02-2017 15:18 | |
CMD/BAT - [решено] Как сделать проверку чтобы скрипт проверял есть ли в папке файл на удаления? | turbolover | Скриптовые языки администрирования Windows | 2 | 04-07-2016 17:30 | |
Подскажите как вставить скрипт фонового эффекта воды на форум ??? | hd78 | Вебмастеру | 0 | 10-09-2015 16:15 | |
Любой язык - скрипт на проверку установленого ПО | parrabol | Скриптовые языки администрирования Windows | 10 | 07-08-2012 11:32 | |
CMD/BAT - [решено] скрипт подключения к интернету с условием | moobi | Скриптовые языки администрирования Windows | 1 | 03-03-2011 02:26 |
|