Ru-Board.club
← Вернуться в раздел «Программы»

» nnCron-Планировщик с поддержкой скриптового языка

Автор: WildCat
Дата сообщения: 12.06.2003 12:32
z_IFIR
Какой and? Зачем? Вот так не пойдет?

#( интернет-тест
WatchHotKey: "^@z"
Action:

ONLINE? NOT
IF

PROC-EXIST: "outpost.exe"

IF

KILL: outpost.exe
KILL: spampal.exe
KILL: AdMunch.exe
KILL: IDMan.exe

TRAY-REFRESH

ELSE

RASUser: "plog"
RASPassword: "pas"
DIAL: "рол" 2 5

PROC-EXIST: "outpost.exe" 0=
IF
START-APP: C:\Program Files\Agnitum\Outpost Firewall 1.0\outpost.exe
THEN

PROC-EXIST: "spampal.exe" 0=
IF
START-APP: C:\Program Files\SpamPal\spampal.exe
THEN

PROC-EXIST: "AdMunch.exe" 0=
IF
START-APP: C:\Program Files\Ad Muncher\AdMunch.exe
THEN

PAUSE: 1000

PROC-EXIST: "opera.exe" 0=
IF
START-APP: C:\Program Files\Opera7\opera.exe
THEN

PAUSE: 3000

PROC-EXIST: "thebat.exe" 0=
IF
START-APP: C:\Program Files\The Bat!\thebat.exe
THEN

THEN

ELSE

HANGUP: "рол"

KILL: outpost.exe
KILL: spampal.exe
KILL: AdMunch.exe
KILL: IDMan.exe

TRAY-REFRESH
THEN
)#

Или я чего-то не понял?
Автор: z_IFIR
Дата сообщения: 12.06.2003 18:43
WildCat
Ну можно и так:

Цитата:
if условие1 then
if условие2 then...
if not условие2 then ...
if not условие1 then
if условие2 then...
if not условие2 then ...

Но проще так:

Цитата:
if условие1 and условие2 then ...
if условие1 and not условие2 then ...
if not условие1 and условие2 then ...
if not условие1 and not условие2 then ...

Так имхо понятнее и проще. Потому что иногда нужно еще больше ифов, и если все время их друг в друга вкладывать, будут получаться очень сложные логические схемы.
Автор: z_IFIR
Дата сообщения: 13.06.2003 14:26
strauss
Небольшой багрепорт:

Создаю в программе такой скрипт:


Цитата:
#( дозвон
Time: 5 2 * * * *
Action:
RASUser: "log"
RASSecPassword: "pas"
DIAL: "рол" 20 15
)#


Затем, если его открыть для редактирования, то во вкладке "Действие"
параметр "Соединение" автоматически делает анчек, т.е. имя соединения просто
исчезает. Если выбирать его заново, тогда пропадают логин и пароль, а если не выбирать,
то получится вот что:

Цитата:
#( дозвон
Time: 5 2 * * * *
Action:
RASUser: "log"
RASSecPassword: "pas"
DIAL: "" 20 15
)#

И, естественно, звонить этот скрипт уже не будет

Это получается, даже если не заходить во вкладку "Соединение", а просто выбрать этот
скрипт для редактирования, и сразу нажать ОК.
Автор: WildCat
Дата сообщения: 13.06.2003 14:37
z_IFIR
ты не понял -- в твоем случае CASE заменяется _одним_ IF. Сравни мой скрипт со своим.
Автор: z_IFIR
Дата сообщения: 13.06.2003 15:45
WildCat
Но ведь глубина вложенности ифов осталась прежней - 3...
Автор: strauss
Дата сообщения: 14.06.2003 14:07
z_IFIR

Угу, спасибо. Пытаемся разобраться.

CU
VK
Автор: Loafer
Дата сообщения: 14.06.2003 21:30
а можно ли его заставить подключать сетевой диск в указанное врем я- если да то как ?
или после логина соответствующего юзверя ?
Автор: Misha_Romanov
Дата сообщения: 14.06.2003 21:48
У меня следующая проблема.
Я хочу создать hotkey's для разных программ. Уже создал довольно много, но есть несколько программ, которые не хотят таким образом правильно запускаться.
В частности, у меня не хотят нормально работать The Bat! и Apollo.
Для The Bat! пробовал следующий код:

Код: WatchHotKey: "@^B"
Action:
ShowNormal NormalPriority
START-APP: C:\Program Files\The Bat!\thebat.exe
Автор: Loafer
Дата сообщения: 14.06.2003 22:24
Misha_Romanov

Цитата:
Используй в Action выполнение команды "net use"

сенксы - посмотрю

Цитата:
В результате запускается окно конфигурирования The Bat!

а ты попробуй указать логин и имя пользователя от которого должно это стартовать \\если конечно там есть такая возможность - ситуация похожа на бат при установке на win2k
Автор: Misha_Romanov
Дата сообщения: 14.06.2003 22:32
Loafer

Цитата:
а ты попробуй указать логин и имя пользователя от которого должно это стартовать

Точно! Большое спасибо! Я просто забыл про эту галку: "Как пользователь, выполнивший logon". Теперь все заработало!
Автор: volodyalipkin
Дата сообщения: 18.06.2003 00:37
1.89b7 (18.Jun.03)
+ новые слова для работы с журналами событий: evSourceName, evComputername, evStrings, evStrings2String, evNString, evUserSid;
+ новые слова для получения имени процесса из его PID: PROC-NAME ( pid - a u), PROC-FULLNAME ( pid - a u);
* цикл FOR-PROCS: теперь работает и с Process ID;
* усовершенствована логика работы слова CLIPBOARD;
* исправлена ошибка в POWER-HIBERNATE и POWER-SUSPEND (98, ME);
* исправлена ошибка при парсинге слова Time (ГУИ);
* исправлена ошибка с пропаданием имени RAS соединения при редактировании задачи из ГУИ;


Автор: tankistua
Дата сообщения: 19.06.2003 16:23
помогите плз. а то я вообще не въезжаю в эти доки, написано неизвестно как и что делается

нужно запустить сервис через 30 секунд после старта операционной системы..
вот допустим код для ее старта

Код: Time: START-TIME
Action:
SWHide NormalPriority
AsService
START-APP: C:\WINDOWS\System32\net.exe start LigaServer
Автор: strauss
Дата сообщения: 19.06.2003 17:59
tankistua

ИМХО, так:


Код:
#( test_service
Time: START-TIME
Action:
PAUSE: 30000
SWHide
START-APP: net start LigaServer
)#
Автор: dadu
Дата сообщения: 19.06.2003 18:41
В топике не нашел....В справке бегло глянул, тож не увидел

Такая задача:

Комп включается ночью бивисом. Нужно запустить качалку....... дык не выходит, пока сам ручками пароль не забьешь и вход в систему не сделаешь, а это уже не автоматизация.
В системе 2 юзера, WinXP... Нужно что то типа автологона или еще что-нить присоветуйте...

Автор: strauss
Дата сообщения: 19.06.2003 23:21
dadu

Думаю, достаточно просто авторизовать задачу, из которой пускается качалка. (Дока - Работа с программой - Задача - Авторизация).

CU
VK
Автор: anryk
Дата сообщения: 07.07.2003 15:15
а как можно послать сообщение на комп в сети ? (т.е. нажать у себя "выполнить задачу" - а у него чтобы выскочило окно с определенным сообщением)
Автор: strauss
Дата сообщения: 07.07.2003 15:35
anryk

ну, например так (в WinNT/2000/XP):

START-APP: net send hostname "test message"

CU
VK
Автор: anryk
Дата сообщения: 07.07.2003 16:19
strauss
спасибо, получилось
а еще вопросик:
вот я принимаю по e-mail файл, сохраняю его в определенную папку, а как заставить проверить его антивирусом Касперского (напр., если известно имя файла, то ком.строка для запуска проверки будет выглядеть примерно так "...\Program Files\Kaspersky Lab\Kaspersky Anti-Virus Personal Pro\Avp32.exe C:\test.zip" если файл test.zip лежит на диска С.
Но ведь при сохранении принятых файлов их имя может быть разное, т.е. как заставить антивирус проверить файл, к, примеру, обновившийся или новосозданный в определенной папке ?
Автор: strauss
Дата сообщения: 07.07.2003 16:36
anryk

Используй слово FILE-CHANGE: "file_mask" из плагина time.spf. Описание и примеры - в доках.

CU
VK
Автор: softmaster
Дата сообщения: 10.07.2003 13:17
Проблемка такая иногда компьютер оставляю на ночь ....
а в связи с некоторыми багами иногда подвисает модем и помогает только перезагрузка
как сделать так что бы происходил пинг когда активен dial up ...
и если результат отрицательный то перезагружал компьютер ....
(да и еще когда модем виснет соединение не разрываеться пропадает только пинг)
Автор: strauss
Дата сообщения: 10.07.2003 16:20
softmaster

примерно так:


Код: #( task_ping
Time: * 1-8
Rule: ONLINE?
Action:
HOST-EXIST: "www.rfrfirf.ru" 0=
IF
FORCE-REBOOT
THEN
)#
Автор: anryk
Дата сообщения: 31.07.2003 07:51
на сетевом компе есть файл price.mdb, мне нужно его обновить, т.е. заменить более новым файлом со своего компа. Но первый файл открыт пользователем, поэтому приходится ждать или сообщать пользователю про необходимость закрытия файла.
Теперь я вот думаю, что можно сделать так - копировать на комп пользователя файл под именем price1.mdb, а дальше nncron пускай постоянно пытается (пока пользователь не прекратит работать с файлом) заменить этим файлом файл price.mdb
Дайт, плиз, наводочку - какие команды использовать, а может вообще есть более простое решение подобных задач (обновление использующихся файлов) ?
Автор: strauss
Дата сообщения: 31.07.2003 15:43
anryk

Сейчас нет возможности оттестировать, но (по моим представлениям) следующая задача как раз будет делать то, что ты хочешь: если копирование не прошло успешно, то оно будет повторяться раз в 30 секунд "до победного":


Код:
#( test_shared_file
NoActive
SingleInstance
Action:
BEGIN
PAUSE: 30000
FILE-COPY: "c:\temp\test.txt" "c:\temp\shared.txt"
GetLastError 0 <>
UNTIL
)#
Автор: anryk
Дата сообщения: 31.07.2003 16:18
strauss
спасибо, тест прошел успешно !
Автор: AntonRNB
Дата сообщения: 14.08.2003 12:48
У меня вот какая проблема:
Я написал скрипт, который отслеживает попадание в директорию зашифрованного файла и расшифровывает его. После этого данный файл разархивируется тем же скриптом и содержимое архива копируется в другую папку.
Так вот, криптографическая программа этот файл стирает при расшифровке и создаёт новый расшифрованный файл с таким же именем, что вызывает повторное срабатывание этого скрипта и таким образом идёт зацикливание: расшифровка -> создание файла -> расшифровка -> создание файла и т. д.
Вопрос:
Можно ли сделать так, чтобы скрипт запускался только при попадании нового файла в эту директорию, а на стирание и создание этого файла не обращал внимание? Ни один из модификаторов WatchDir: желаемого результата не принёс.
Надеюсь на вашу помощь.

Добавлено
Т. е. как запустить только один раз цикл for-files по команде watchdir?
Автор: strauss
Дата сообщения: 14.08.2003 16:43
AntonRNB

OnceAHour, OnceADay?
SingleInstance?

CU
VK
Автор: AntonRNB
Дата сообщения: 15.08.2003 08:37
strauss
Спасибо!

SingleInstance

Автор: strauss
Дата сообщения: 15.08.2003 09:57
AntonRNB

Я, кстати, еще один вариант придумал - поизящнее: можешь для этой задачи просто увеличить значение переменной MonitorResponseTime, которая задает минимальное время (в миллисекундах) между двумя событиями.

Подробнее: доки - Работа с программой - Задача - Спецификация события (Watch*)

CU
VK
Автор: AntonRNB
Дата сообщения: 15.08.2003 11:14
strauss

MonitorResponseTime


Действительно, так лучше.


Цитата:
Подробнее: доки - Работа с программой - Задача - Спецификация события (Watch*)


Так можно не писать, ведь в хелпе nnCron есть поиск (вторая вкладочка). Спасибо.
Автор: dadu
Дата сообщения: 15.08.2003 16:26
strauss

Цитата:
Думаю, достаточно просто авторизовать задачу, из которой пускается качалка.

NoActive
AsLoggedUser
LoadProfile
User: "User" SecPassword: "parol" Domain: "HOME" LogonInteractive
Time: 5 6 * * * *
Action:
StartIn: "D:\Program\FlashGet"
ShowNormal NormalPriority
START-APP: D:\Program\FlashGet\flashget.exe ...Не стартует

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

Предыдущая тема: Как писать кириллицей, а НЕ латиницей (транслитом)


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.