![]() |
![]() |
![]() |
|
Как зациклить выполнение скрипта rasdial? {Решен} | ☑ | ||
---|---|---|---|---|
0
Гений 1С
гуру
29.08.09
✎
10:01
|
Написал небольшой скрипт:
:again rasdial SkyLink goto again Но когда я запускаю окно, даже если оно свернуто, курсор начинает дрожать, очевидно из-за выполнения CMD в цикле. Может быть, переписать на JS-файл, тогда мигать не будет. Можно еще как-то паузу в cmd-файл вставлять? подскажите, как паузу и вызов задания в JS выполнять? просто у меня в типовых настройках соединения ограниченное число попыток, иногда прерывается на ночь работа. А в планировщике неудобно - мне надо не всегда восстанавливать соединение а только когда я запущу пакетник. |
|||
1
ДенисЧ
29.08.09
✎
10:05
|
WShell.Sleep
|
|||
2
Гений 1С
гуру
29.08.09
✎
10:16
|
Сделал так:
while(true) { var Myshell = new ActiveXObject("WScript.Shell"); Myshell.Run("rasdial SkyLink",0,1); } Окно запуска не выводится, но курсор мигает... Как избавиться от мигания курсора? |
|||
3
Гений 1С
гуру
29.08.09
✎
10:17
|
(1) Выдает ошибку, что нет такого метода:
while(true) { var Myshell = new ActiveXObject("WScript.Shell"); Myshell.Run("rasdial SkyLink",0,1); Myshell.Sleep(10); } |
|||
4
ДенисЧ
29.08.09
✎
10:19
|
Ну опечатался я...
WScript.Sleep Или тебя гугель ещё не разбанил? |
|||
5
Гений 1С
гуру
29.08.09
✎
10:20
|
(4) поясни плиз по человечески. хотя все равно важнее вопрос про мигание курсора
|
|||
6
Гений 1С
гуру
29.08.09
✎
10:25
|
Ах да, задержка работает: WScript.sleep (200);
200 - это в чем, в милисекундах? т.е. 1000 - это 1 секунда? |
|||
7
ДенисЧ
29.08.09
✎
10:25
|
Как мигание убрать - я не знаю.
(6) Да. |
|||
8
Гений 1С
гуру
29.08.09
✎
10:26
|
а почему окно JS невидимо, только можно убить его в WScript? можно как-то показать окно приложения JS?
|
|||
9
ДенисЧ
29.08.09
✎
10:27
|
(8) У него нет окна :-)
Как ты его запускаешь? |
|||
10
Гений 1С
гуру
29.08.09
✎
10:29
|
(9) Просто из тотал командера запускаю файл JS. А как мне его тогда прервать.
ПОставил задержку в 5 минут, по идее этого достаточно, чтобы восстанавливать коннект.. |
|||
11
smaharbA
29.08.09
✎
10:30
|
var Myshell = new ActiveXObject("WScript.Shell");
while(true) { rez=Myshell.Run("ping -n 1 www.yandex.ru"); if (rez != 0) { Myshell.Run("rasdial SkyLink",0,1); } Myshell.Sleep(1000); } |
|||
12
smaharbA
29.08.09
✎
10:30
|
вернее
var Myshell = new ActiveXObject("WScript.Shell"); while(true) { rez=Myshell.Run("ping -n 1 www.yandex.ru",0,true); if (rez != 0) { Myshell.Run("rasdial SkyLink",0,true); } Myshell.Sleep(1000); } |
|||
13
ДенисЧ
29.08.09
✎
10:31
|
(10) Набери cscript твой.js
|
|||
14
smaharbA
29.08.09
✎
10:46
|
(10)
var Myshell = new ActiveXObject("WScript.Shell"); while(true) { rez=Myshell.Run("ping -n 1 www.yandex.ru"); if (rez != 0) { Myshell.Run("rasdial SkyLink",0,1); } else { WScript.Quit(); } Myshell.Sleep(1000); } |
|||
15
Megas
29.08.09
✎
10:48
|
(0) Ping 127.0.0.1 -(не помню параметр ) число раз ... 1 пинг = 1 секунда =)
|
|||
16
Гений 1С
гуру
29.08.09
✎
10:53
|
всем пасиба...
rasloop.js: var Myshell = new ActiveXObject("WScript.Shell"); while(true) { rez=Myshell.Run("ping -n 1 www.yandex.ru",0,true); if (rez != 0) { Myshell.Run("rasdial SkyLink /DISCONNECT",0,true); Myshell.Run("rasdial SkyLink",0,true); } WScript.sleep (1*60*1000); } rasloop.cmd: cscript rasloop.js Таперича бы еще как нибудь иконку у запущенного приложения rasloop.cmd поменять, чтобы было видно что это коннектор. Подскажите еще один вопрос. JS будет ждать завершения команды, да. 0, true - это невидимое и ждать завершения, так? |
|||
17
ДенисЧ
29.08.09
✎
10:54
|
Ярлык создай и меняй в нём икону, как хочешь
|
|||
18
Гений 1С
гуру
29.08.09
✎
10:57
|
(17) и что, иконка приложения тоже будет меняться? счас попробую
|
|||
19
Гений 1С
гуру
29.08.09
✎
10:58
|
(17) Спасибо, получилось...
|
|||
20
Гений 1С
гуру
29.08.09
✎
13:57
|
Окончательно:
var Myshell = new ActiveXObject("WScript.Shell"); while(true) { var d = new Date(); var nMonth = d.getMonth()+1; var nDate = d.getDate(); var nHours = d.getHours(); var nMinutes = d.getMinutes(); var nSeconds = d.getSeconds(); var nMilliseconds = d.getMilliseconds(); // YYYY-MM-DD (HH.NN.SS); var sTimeStamp = '' +d.getFullYear()+'-' +((nMonth<10)?"0"+nMonth: nMonth)+'-' +((nDate<10) ? "0"+nDate : nDate)+' (' +((nHours<10) ? "0"+nHours : nHours)+'.' +((nMinutes<10) ? "0"+nMinutes : nMinutes)+'.' +((nSeconds<10) ? "0"+nSeconds : nSeconds)+')'; rez=Myshell.Run("ping -n 1 www.yandex.ru",0,true); if (rez != 0) { WScript.Echo(sTimeStamp + " offline, try to reconnect"); Myshell.Run("rasdial SkyLink /DISCONNECT",0,true); //Disconnect Myshell.Run("rasdial SkyLink mobile mobile",0,true); //Connect with login & password WScript.Echo("Reconnected"); } else { WScript.Echo(sTimeStamp + " test connection - OK"); WScript.sleep (3*60*1000); //wait a minutes for next try } } |
|||
21
Ковычки
29.08.09
✎
14:23
|
(20) теперь сделай защиту от двойного и более запуска
|
|||
22
Гений 1С
гуру
29.08.09
✎
15:29
|
(21) да ну нах, я и так вижу иконку запущенного приложения
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |