![]() |
помогите написать скрипт для перезагрузки модема
мне нужен скриптик, который будт работать по вот этому алгоритму:
![]() у1- проверка есть ли пинг до внешнего ресурса, например ya.ru у2- проверка глобальной переменной, не знаю, наверно она должна быть в файле, если переменная N>=3 то О2 - выполнить команду ( в моем случае netsh interface set interface name="inet" admin=DISABLED ,тут нужна будет пауза, чтобы обновился маршрут, секунд 5-10 О3 - запустить прогу sendmail О1 - запустить прогу которая подключится через телнет к роутеру и ребутнет его ) О4- обнулить глобальную переменную N N++ увеличить глобальную переменную на 1 А то глючный модем уже задолбал ( Зарание спс! |
yanus74, не нужна тут глобальная переменная, я так понял, что вам нужно после 3 перезагрузок модема и неудачном пинге обновить маршрут и отправить письмо, что все плохо.
Код:
@Echo Off |
спасибо
скрипт будет запускаться 1 раз в 30 минут, как он будет запоминать значение N ? просто идея такая, что скрипт проверил, инета нету, перезагрузил, прошло пол часа, проверил, нету ......и на четвертый раз, когда N = 3 , он отключает этот интерфейс, и керио меняет маршрут на другой интерфейс, т.к. этот не доступен, а скрипт отправляет уведомление, что там опять какето фигня с модемом ( |
Цитата:
Код:
@Echo Off |
на команду
Код:
Echo:(0<count Set /P "N=") 2>nul |
Цитата:
|
Цитата:
Код:
Echo:Start /Wait "" "notepad.exe" запустил скрипт, и ничего не произошло, ни какого вывода не было, добавил везде эхо) и получил результат выше правда я немного модифицировал скрипт, добавил в начале Код:
@Echo Off вот лог выполнения скрипта: Код:
D:\programs\bat>D:\programs\bat\1.bat Код:
Ответ от 192.168.10.1: Заданная сеть недоступна. Код:
d: сенд мэил тоже бат файлом запускаю, но там одна строка, путь до программы, программа и ключи |
Вложений: 1
вроде разобрался , щас еще пару раз проверю
как то через раз срабатывает, не могу понять в чем дело, запускаю, запускаю скрипт, потом раза с 10го, он срабатывает, запускается батник ( открывается новое окно) пишет: Код:
d: Код:
C:\Documents and Settings\Администратор>D:\programs\bat\1.bat не понятно Код:
@Echo Off |
Цитата:
Set N=0 - присваиваем переменной N значение, равное 0. Это наша глобальная переменная. (0<count Set /P "N=") 2>nul - ключ /P команды Set предназначен для ручного задания значения переменной N, т.е. в консоли пользователь пишет значение и нажимает Enter (читай - символ перевода строки). Но вместо ручного ввода в консоль пишется содержимое файла count, который будет хранить значение нашей глобальной переменной N, причем только первая строка, т.к. строки в текстовых файлах заканчиваются символом перевода. Ping ya.ru -n 2 1>nul&&Del /F /Q count 2>nul&&Exit /B 0 - пинг сайта. Если он удачен, то удаляем файл count. Если файл удалится, то выход из скрипта. Тут нужно немного по-другому написать, а именно Ping ya.ru -n 2 1>nul&&(Del /F /Q count 2>nul&Exit /B 0) Если пинг неудачен, то переменная N сравнивается с числом 3. Если N=3, то смена маршрута, пауза и отправка мыла. Если нет, то реконнект модема, увеличиваем значение N на 1 (Set /A N+=1) и пишем новое значение N в файл count (Call Echo:%%N%%>count). Проставив echo перед командами, можно реально их не запускать, а просто посмотреть в консоли на эти команды. Имитируем разрыв с модемом, приписав к ya.ru, какой-нибудь символ, запустим скрипт (допустим это первый запуск, файла Count еще нет): Код:
c:\temp>test.bat Цитата:
Код:
Start "" /D "D:\programs\bat" /Wait "autoTln.exe" Цитата:
Код:
Start "" /D "путь к папке программы" /Wait "программа.exe" ключи программы |
чет он так и не работает, добавил задание на запуск батника, щас вот посмотрел, у модема не было интернета, дождался запуска по расписанию, окно промигнуло,и все, зпрограмма для перезагрузки роутера не открылась, что делаю не так?(
Код:
@Echo Off Код:
echo:1 test Код:
C:\Documents and Settings\Администратор>D:\programs\bat\1.bat Код:
C:\Documents and Settings\Администратор>ping ya.ru Код:
Ping ya.ru -n 2 1>nul&&Del /F /Q count 2>nul&&Exit /B 0 Код:
Пакетов: отправлено = 4, получено = 4, потеряно = 0 Код:
Ping ya.ru -n 2 1>nul&&Del /F /Q |
Цитата:
Код:
@Echo Off |
не корректно работает, пинг есть, а он выполняет запуск
Код:
@Echo Off Код:
C:\Documents and Settings\Администратор>D:\programs\bat\1.bat |
yanus74, пардон
Код:
Ping ya.ru -n 2|FindStr /ir (0%% 1>nul&&(Del /F /Q count 2>nul&Exit /B 0) |
спасибо, буду проверять в полевых условиях, если что, отпишусь)
|
Время: 07:35. |
Время: 07:35.
© OSzone.net 2001-