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

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

Автор: volodyalipkin
Дата сообщения: 07.05.2003 23:35
nnCron 1.89b3

Changes:

* new entries (170-174) in language resource files
* vertical scroll bar is added to reminder window
* CLIPBOARD returns current value of clipboard
Автор: griin
Дата сообщения: 15.05.2003 11:32
Как сделать так, чтобы задача запускалась по будням, каждые полчаса в промежутке времени между 10-00 и 18-00?..

Чтобы задача запускалась каждые полчаса по будням сделать просто:
Time: */30 * * * 1-5 *
А вот что сюда добавить, чтобы она запускалась, только в указанном промежутке времени?..

Добавлено
Все разобрался (IF + %hh%)

Добавлено
Хотя нет, не разобрался... как сравнить текущее время (%hh%) с неким числом?..

Добавлено
Все разобрался...
Автор: strauss
Дата сообщения: 15.05.2003 17:40
griin

Судя по комментариям, ты полез в дебри...

ИМХО, тут все проще:


Код: Time: */30 10-17 * * 1-5
Time: 0 18 * * 1-5
Action:
...
Автор: griin
Дата сообщения: 15.05.2003 20:55

Цитата:
Судя по комментариям, ты полез в дебри...
ИМХО, тут все проще

А я вот в хелпе прочитал, что записывая:
Time: */ХХ 10-17 * * 1-5
ХХ должно изменяться от 0 до 59, а что делать если мне нужно чтобы операция выполнялась, например, каждые 2 часа?..
Автор: strauss
Дата сообщения: 15.05.2003 22:05
griin


Код: Time: 0 */2
Автор: griin
Дата сообщения: 16.05.2003 13:31
strauss

Цитата:
Time: 0 */2

А если каждые два часа с 10 до 17???

Код:
Time: 0 10-17/2
Автор: strauss
Дата сообщения: 16.05.2003 13:56
griin

да. или так:


Код: Time: 0 10,12,14,16
Автор: Vlad2000Plus
Дата сообщения: 16.05.2003 17:54
NNCron 1.89 beta 4

Что нового:

+ долгожданная обработка "просроченных" задач и напоминаний (если, например,
компьютер был выключен): опция задачи RunMissed;
+ управление опцией RunMissed из ГУИ;
* WinSpy теперь умеет показывать клавиатурные комбинации и virtual key codes
нажатых клавиш;
+ Португальский и Бразильский-португальский переводы интерфейса nnCron (Luis
Cesar Battistin и Euler German);
+ новые строки (143, 423) в языковых ресурс-файлах
Автор: Alex Ch
Дата сообщения: 20.05.2003 09:39
Как все-таки работает плагин WinLirc?
Простое задание (из хелпа) nncron
ругается на синтакс в строке WatchLirc: "on"

#( winlirc_winamp
WatchLirc: "on"
Action:
START-APP: C:\Program Files\Winamp\winamp.exe
)#

может у кого есть опыт по использованию плагина
или есть какието настройки
поделитесь
Автор: strauss
Дата сообщения: 20.05.2003 16:14
Alex Ch

Скорее всего ты просто не подключил плагин (см. вкладку "Плагины" в ГУИ nnCron). Еще один возможный вариант - ты используешь несколько задач с одинаковым названием.

Загляни в логи и nncron.out - может, там есть что-нибудь интересное.

CU
VK
Автор: volodyalipkin
Дата сообщения: 01.06.2003 03:54

nnCron 1.89 beta 5


Изменения:
+ новые слова для управления громкостью звука: MIXER-STATE, MIXER-MUTE, MIXER-UNMUTE, MIXER-VOLUME@, MIXER-VOLUME!, MIXER+, MIXER-UP, MIXER-DOWN;
+ новые слова для отслеживания system event logs: WatchEventLog: <logname>, FOR-NEW-EVENTS ... FOUND-EVENT ... ;FOR-NEW-EVENTS;
* из ГУИ nnCron можно редактировать задачи с именами в кавычках;
+ французский и финский переводы интерфейса nnCron (Veekee and Ville Pilvio);
+ переработана система логирования;

Полный список изменений:
http://www.nncron.ru/history/nncron_ru.shtml


Добавлено
Новый plugin Winamp

Дополнительные слова для управления WinAmp 2.xx (play, pause, stop, vol-up, vol-down, next-track, previous-track и т. д.)

Автор: griin
Дата сообщения: 05.06.2003 13:37
Есть ли какая-нибудь переменная, которая отвечает за то как запущен скрипт вручную или автоматически?
У меня есть функция, которая запускается каждый час, плюс ведется лог действий которые эта функция делает. Иногда я запускаю эту функцию вручную, так вот нужно вписать в лог как запущена функция руками или автоматом. Можно такое реализовать?..
Автор: strauss
Дата сообщения: 06.06.2003 10:10
griin

Переменной (AFAIK) нет, но эту проблему можно решить проще. Есть слово (Min@), которое кладет на стек значение текущей минуты. При запуске "автоматом" (в твоем случае) значение всегда будет '0'. Значит можно написать что-то вроде:


Код:
Action:
Min@ 0=
IF
\ здесь логируемый код
THEN
Автор: z_IFIR
Дата сообщения: 08.06.2003 11:29
При выполнении действия мне нужно проверить, не запущена ли программа.
Я выбираю условие "процесс существует", и не знаю, что писать в графе Имя.
Пробовал и имя файла, и имя процесса, и хендл процесса

Также интересно, можно ли несколько действий, наприер, запуск нескольких
программ, объединить в одну задачу?

Вопросы могут показаться идиотскими , но я тока поставил себе nncron
Автор: strauss
Дата сообщения: 08.06.2003 11:40
z_IFIR


Цитата:
При выполнении действия мне нужно проверить, не запущена ли программа.
Я выбираю условие "процесс существует", и не знаю, что писать в графе Имя.


В эту графу надо писать т. н. proc_pattern. Цитата из доки (Работа с процессами):

proc_pattern - это имя процесса или маска имени процесса. Обычно имя процесса - это имя исполняемого файла, который запускает интересующий нас процесс. Задавая маску имени или полного пути процесса можно применять символы '*' и '?' или регулярные выражения, заключив их в прямые слеши: /<regexp>/.
В качестве имени процесса можно указывать не только имя исполняемого файла, но и полный путь к нему. Маска сравнивается с полным путем исполняемого файла, если в ней присутствует хотя бы один обратный слеш ('\').
Также в proc_pattern можно использовать идентификатор процесса (см. PROC-ID, %WATCH-PROC-ID%).

Примеры:

\ имя процесса
PROC-EXIST: "notepad.exe"
\ маска имени процесса
PROC-EXIST: "notepad*"PROC-EXIST: "*pad.exe"
\ маски имени процесса с учетом пути к исполняемому файлу
PROC-EXIST: "*\notepad*"
PROC-EXIST: "c:\*\notepad.exe"
\ регулярное выражение
PROC-EXIST: "/(note)|(word)pad.exe/i"
\ идентификатор процесса
PROC-EXIST: "1116"PROC-EXIST: "%WATCH-PROC-ID%"PROC-EXIST: "%my_proc_id @%"



Цитата:
Также интересно, можно ли несколько действий, наприер, запуск нескольких
программ, объединить в одну задачу?


START-APP: 1.exe
START-APP: 2.exe
\ etc
Автор: z_IFIR
Дата сообщения: 08.06.2003 11:55
strauss
Не работает
Вот например такой скрипт:

WatchConnect
Rule: PROC-EXIST: "TOTALCMD.EXE" NOT
Action:
StartIn: "C:\Program Files\totalcmd\"
ShowNormal NormalPriority
START-APP: C:\Program Files\totalcmd\TOTALCMD.EXE


TOTALCMD все равно запускается, вне завичсимости от того, выполняется он уже или нет...


Добавлено
strauss
Да, забыл сказать, этот скрипт я тестирую вручную. Но думаю, суть от этого не изменится...


Цитата:
START-APP: 1.exe
START-APP: 2.exe


А так можно:

WatchConnect
Rule: PROC-EXIST: "1.EXE" NOT
Action:
StartIn: "C:\Program Files\totalcmd\"
ShowNormal NormalPriority
START-APP: C:\Program Files\totalcmd\1.EXE
Rule: PROC-EXIST: "2.EXE" NOT
Action:
StartIn: "C:\Program Files\totalcmd\"
ShowNormal NormalPriority
START-APP: C:\Program Files\totalcmd\2.EXE
\ etc
Автор: strauss
Дата сообщения: 08.06.2003 12:40
z_IFIR


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


Дока, Запуск задачи:

запуская задачу вручную, помните, что тем самым вы принудительно отменяете все условия запуска (Time:, Rule:, Watch*), определенные в задаче. Указание "выполнить задачу вручную" имеет безусловный приоритет над всеми остальными условиями!


Цитата:
А так можно:

WatchConnect
Rule: PROC-EXIST: "1.EXE" NOT
Action:
StartIn: "C:\Program Files\totalcmd\"
ShowNormal NormalPriority
START-APP: C:\Program Files\totalcmd\1.EXE
Rule: PROC-EXIST: "2.EXE" NOT
Action:
StartIn: "C:\Program Files\totalcmd\"
ShowNormal NormalPriority
START-APP: C:\Program Files\totalcmd\2.EXE
\ etc


нет, но можно так:


Код:
WatchConnect
Action:
PROC-EXIST: "1.exe" 0=
IF
START-APP: 1.exe
THEN
PROC-EXIST: "2.exe" 0=
IF
START-APP: 2.exe
THEN
Автор: z_IFIR
Дата сообщения: 08.06.2003 13:12
strauss

Цитата:
Может, пора в доку заглянуть?

Да, конечно. Извини за тупые вопросы. Спасибо.
Автор: z_IFIR
Дата сообщения: 09.06.2003 22:54
strauss
Уже не тупой вопрос

Когда я завершаю командой KILL какой-то процесс, то если у него в трее
сидела иконка, то она не исчезает по завершении процесса, а остается, пока
не наведешь на нее мышку. Можно ли как-то с этим справится, т.е. заставить иконку
"исчезать" одновременно с завершение процесса? (ось WinME)
Автор: strauss
Дата сообщения: 09.06.2003 23:15
z_IFIR

Можно. Скачай последнюю бету (1.89b6) и используй слово TRAY-REFRESH после KILL

CU
VK
Автор: volodyalipkin
Дата сообщения: 10.06.2003 00:22
nnCron 1.89 beta 6
Изменения:

+ новое слово: TRAY-REFRESH - удаляет из системного трея "залипшие" иконки;
+ новое слово: WatchRegistryKey: "key_path" для слежения за ключами в Registry. (Доступные модификаторы: REG-CHANGE-NAME, REG-CHANGE-ATTRIBUTES, REG-CHANGE-LAST-SET, REG-CHANGE-SECURITY, WatchSubtree);
* исправлена ошибка в системе логирования;
* исправлена ошибка в плагине http.spf;
Автор: z_IFIR
Дата сообщения: 11.06.2003 08:58
strauss
Спасибо. Однако мой вопрос получился довольно актуальным

А вот еще: ставлю событие на комбинацию клавиш (напр. ctrl-alt-z), и по первому нажатию скрипт не запускается, только по второму. Что это - мой глюк?..
Автор: strauss
Дата сообщения: 11.06.2003 13:30
z_IFIR

пока не понятно о чем речь. может, первый раз ты нажимаешь шорткат, когда nnCron еще не успел перечитать кронтабы? Вроде, все запусается нормально, похожих баг-репортов я не получал.

CU
VK
Автор: z_IFIR
Дата сообщения: 11.06.2003 14:20
strauss
у меня есть скрипт, который звонит в инет,запускает проги и т.д., так вот, когда я жму комбинацию первый раз, nncron вообще никак не реагирует, а когда жму еще раз - скрипт запускается...

Добавлено
strauss
а сейчас тестю - все работает...

У меня есть подозрение, что просто скрипт я написал кривой - я еще толком не въехал в синтаксис, и у меня вся программа на сплошных if...then .

А вообще, подпрограммы на форте можно как-нибудь выделять (типа как в паскале begin...end или в си {})?
Автор: strauss
Дата сообщения: 11.06.2003 14:41
z_IFIR

Дока - работа с программой - nnCron и язык программирования Форт

CU
VK
Автор: z_IFIR
Дата сообщения: 11.06.2003 17:11
strauss
Посмотри пожалуйста, где в скрипте ошибка:

Цитата:

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

CASE
ONLINE? NOT OF

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

ENDOF

ONLINE? OF

HANGUP: "рол"

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

TRAY-REFRESH
ENDOF
ENDCASE
)#


Выдается следующее сообщение: "Ошибка стека в Action:".

Добавлено
я думаю, я неправильно использую синтаксис case..of
Автор: WildCat
Дата сообщения: 11.06.2003 17:26
z_IFIR
А нафига ты вообще CASE используешь? Ведь всего-то одно условие.
Автор: strauss
Дата сообщения: 11.06.2003 18:09
z_IFIR

Ты просто не понял, как работает CASE. Если ты хочешь использовать CASE, то твой пример надо переписать примерно так:


Код:
#( test_case
NoActive
Action:
ONLINE?
CASE
TRUE OF
\ ...
MSG: "Online"
ENDOF
FALSE OF
\ ...
MSG: "Offline"
ENDOF
ENDCASE
)#
Автор: z_IFIR
Дата сообщения: 11.06.2003 23:18
strauss
Да я уж потом понял, что ступил, только я думал, что будет звучать так:

Цитата:
#( test_case
NoActive
Action:
CASE ONLINE?
TRUE OF
...
)#


Трудно привыкнуть к предусловиям...

WildCat
А потому что так мне нужно было бы использовать if в такой форме:

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

но не знаю, как записать это на Форте
Автор: strauss
Дата сообщения: 11.06.2003 23:32
z_IFIR


Цитата:
но не знаю, как записать это на Форте


как это делать описано в доках (работа с программой - задача - условия запуска задачи (Rule))

CU
VK

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

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


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