|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Перезапуск программы при пропадании интернета. |
|
CMD/BAT - Перезапуск программы при пропадании интернета.
|
Ветеран Сообщения: 981 |
Профиль | Сайт | Отправить PM | Цитировать Задача такая: Есть коннект менеджер для 4G интернета, но у него нет функции авто-переподключения при обрыве связи.
Есть такой скрипт: Работает, но если был дисконект во время таймаута 120с то срабатывает как и положено. А если дисконект был во время комманды проверки (ping) то программа перезапускается моментально, т.е сначала скрипт пытается запустить еще 1 копию программы не завершая предыдущую. После ошибки программы "programm is running" скрипт останавливается. |
|
------- Отправлено: 13:34, 18-12-2011 |
Пользователь Сообщения: 148
|
Профиль | Сайт | Отправить PM | Цитировать Т.е. он имел в виду, что иногда, даже если сайт не пингуется, команда пинг все равно выдаст успешный результат - и это приведет к перезапуску модема в написанных нами скриптах. Нужно все лишь добавить конец команды пинг это |Find "TTL="
Рассмотрим пример: 1) Ping выдает это: "Сбой команды ......." и передает, что завершено все без ошибок ---> скрипт перезагружает модем. Мы дописываем |Find "TTL=", и теперь уже проверяется успешность выполнения именно этой команды. Find ищет наличие строки "TTL=" в отчете, выданном предыдущей командой Знак | как раз его и передает. --> команда выполнится с ошибкой (строка "TTL="не найдена) ---> скрипт не будет пускать перезагрузку. >ping 8.8.8.8 Обмен пакетами с 8.8.8.8 по с 32 байтами данных: Ответ от 8.8.8.8: число байт=32 время=64мс TTL=46 Ответ от 8.8.8.8: число байт=32 время=63мс TTL=46 ... >ping 8.8.8.8 | Find "TTL="&&echo Privet! ... Privet! Символ || - следующая за ним команда выполняется, если предыдущая (перед &&) выполнена с ошибкой (%errorlevel% <> 0) |
------- Последний раз редактировалось Dragokas, 22-12-2011 в 01:12. Отправлено: 01:05, 22-12-2011 | #31 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 16
|
Профиль | Отправить PM | Цитировать Опять прошу помощи!
Решил начать все сначала. Пишу скрипт, который пингует 3 хоста. Если все 3 не отвечают - перезагружает софт и модем. Столкнулся с одной проблемой. Если модем отсутствует, то скрипт выдает вот такую ошибку вот в этом месте: Мне же нужно, чтобы при отсутствии модема тоже срабатывала перезагрузка. Помогите решить задачу. |
Последний раз редактировалось YouHim, 23-12-2011 в 04:04. Отправлено: 03:58, 23-12-2011 | #32 |
Ветеран Сообщения: 981
|
Профиль | Сайт | Отправить PM | Цитировать Вот так вроде работает как надо:
cmdow @ /HID @Echo Off Set /A WaitTime=120*1 Set Address=ya.ru -n 15 :Loop Ping %Address% If ERRORLEVEL 1 call :RESTART Ping -n %WaitTime% 127.0.0.1 > Nul GoTo Loop :RESTART taskkill /f /im SW_WiMaxCM.exe > Nul net stop GCTWiMAXService devcon disable USB\Class_0a devcon enable USB\Class_0a REM devcon disable USB\VID_1076* REM devcon enable USB\VID_1076* net start GCTWiMAXService start /D "C:\Program Files\FreshTel\" SW_WiMaxCM.exe > Nul exit /b |
------- Отправлено: 06:49, 08-02-2012 | #33 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать 2 Инсульт:
a) cmdow внешняя утилита, заметил позже б) Ping %Address% в цикле приводит к ненужному постоянному окну (в XP) в) нельзя ли вообще без :Loop - проверили и вышли, а повторный запуск через назначенные задания? |
------- Отправлено: 13:11, 21-02-2012 | #34 |
Ветеран Сообщения: 981
|
Профиль | Сайт | Отправить PM | Цитировать Цитата mrjok:
в) В этом случае нужно делать планировщик, либо стороннее ПО, или воспользоваться встроенным в систему. |
|
------- Отправлено: 02:56, 28-02-2012 | #35 |
Ветеран Сообщения: 981
|
Профиль | Сайт | Отправить PM | Цитировать Не поленился написал простенькую программку.
Запускает этот скрипт один раз в 5 минут, а не постоянно пингует. Скрипт будет работать в скрытом режиме (без окна) как и хотел mrjok Скрипт теперь должен быть такой: @Echo Off Set Address=ya.ru -n 8 Ping %Address% If ERRORLEVEL 1 call :RESTART GoTo EXIT :RESTART taskkill /f /im SW_WiMaxCM.exe > Nul net stop GCTWiMAXService devcon disable USB\Class_0a devcon enable USB\Class_0a net start GCTWiMAXService start /D "C:\Program Files\FreshTel\" SW_WiMaxCM.exe > Nul exit /b :EXIT exit |
------- Последний раз редактировалось Инсульт, 14-08-2014 в 14:50. Отправлено: 18:28, 28-02-2012 | #36 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать 2 Инсульт:
1) спасибо 2) для devcon как уточнить, что USB\Class_0a |
------- Отправлено: 11:43, 14-03-2012 | #37 |
Новый участник Сообщения: 9
|
Профиль | Отправить PM | Цитировать то Инсульт:
Как прописать запуск скрипта в шедулер,планируется поместить шедулер в автозагрузку |
Отправлено: 16:26, 10-05-2012 | #38 |
Новый участник Сообщения: 2
|
Профиль | Отправить PM | Цитировать Доброго времени суток! Помогите с скриптом! Задача пинговать определенный адрес допустим 192.168.1.100 нужно послать 10 запросов эсли же на 10 запросов нет ответа перезагрузить сервер, если запросы в норме повторить процедуру через 10 минут!
Если конечно возможно то чтобы в момент перезапуска выскакивало окно комп будет перезагружен через 1 минуту, для отмены нажмите допустим "1" не нажал знач перезагруз. Очень прошу помогите! |
Отправлено: 01:11, 01-10-2013 | #39 |
Новый участник Сообщения: 2
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Инсульт:
Цитата Инсульт:
У меня вопрос другого плана, мне надо чтоб скрипт проверял как наличие интернета, так и работоспособность батника, который вызывает работу програмки, иногда эта програмка вылетает (или подвисает или просто вылетает, особенно когда нету интернета долгое время), и хотелось бы , чтоб скрипт перезапускал тот батник, котоырй вылетатет. То есть два условия проверки, 1 - интернет, 2- работает ли батник. Как убить процесс и как запустить, - это я логическим путем установил, а вот как сделать проверку программы ? Здесь мозгов не хватает. Работа программы заключаеться в том, что должен работать CMD , который связаный через интернет с сайтом. Если интернет пропадает, то CMD может "вылетить". |
||
Отправлено: 11:52, 10-11-2013 | #40 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - Автоматический перезапуск программы | alleo | Microsoft Windows 2000/XP | 12 | 24-05-2012 21:39 | |
Перезапуск программы | alleo | AutoIt | 9 | 21-02-2011 20:25 | |
Прочее - Автоматический перезапуск интернета | DJ@XON | Сетевые технологии | 2 | 30-06-2010 17:39 | |
CMD/BAT - Перезапуск explorer'а при наличии определённого запущенного приложения | Habetdin | Скриптовые языки администрирования Windows | 2 | 30-05-2009 17:30 | |
Автоматический перезапуск программы. | tueur | Программное обеспечение Windows | 9 | 21-09-2004 17:59 |
|