Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » nnCron

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

Открыть новую тему     Написать ответ в эту тему

Widok



Moderator-Следопыт
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nnCron
 
nnCron - это компактный, но мощный планировщик и менеджер автоматизации с собственным скриптовым языком, основанным на синтаксисе языка программирования Форт. Помимо традиционной для планировщика способности запускать в указанное время программы, "напоминалки" и открывать документы ..
 
nnCron способен отслеживать файлы, флаги, окна, процессы, движения мыши, время простоя компьютера, клавиатурные шорткаты, выход в онлайн/оффлайн, появление диска в драйве, наличие хоста в сети (пинг), изменение удаленного ресурса по http-протоколу, количество свободного места на диске, загруженность оперативной памяти и многое другое...
 
nnCron понимает cron-формат (Unix) и управляется с помощью текстовых кронтаб-файлов. Для тех, кто любит работать с GUI есть графическая оболочка из которой можно удалять/добавлять/редактировать и запускать задачи, устанавливать напоминалки, менять настройки программы.
 
nnCron позволяет использовать в задачах VBScript/JScript, регулярные выражения и расширяется за счет плагинов. Он может быть запущен в качестве службы (сервиса) или как обычное приложение. Обладает средствами удаленного администрирования. Подробнее прочитать о возможностях nnCron вы можете в online-документации.
 
nnCron бесплатен для граждан стран бывшего СССР при условии частного и некоммерческого использования.


история изменений - https://nncron.ru/forums/viewforum.php?f=11
форум - https://nncron.ru/forums/
 
архив конференции поддержки: » fido7.ru.nncron
 
скачать: https://nncron.ru/download_ru.shtml - программу, документацию, плагины, скрипты
 
последняя версия:
 
v.1.91 (build 1083) - последний релиз от 21 марта 2006 (+ основные плагины и документация на английском языке)
v.1.93 beta 15 - последняя бета от 15.02.2016
history
 
документация:
 
help_ru.zip  (обновляется регулярно) документация nnCron (на русском языке)
faq_ru.zip nnCron FAQ (на русском языке)
spf_help.zip (130k  20 Nov 2002)  описание основных слов SP-Forth (на русском языке)
sf.chm (1.5M  03 Feb 2003)  книга Leo Brodie "Начальный курс программирования на языке Форт" (на русском языке)
 
полезные ссылки:
* » nnBackup - крошечная (250k) консольная утилита, предназначенная для резервного копирования файлов, синхронизации содержимого каталогов, создания и обработки файл-листов.
* » Cтатья Валерия Кондакова про возможности nnCron
* » Канал "nnCron releases" для » WatzNew by 8AleX8
* » Файл расцветки синтаксиса исходников языка Форт и кронтабов nnCron для плагина Colorer (Far Manager)
* » Редактор мелодий для beeper'a под nnCron
Если не работает новая, правильно написанная задача, то попробуйте добавить в опции задачи слово AsLoggedUser (галочка в свойствах новой задачи "Как пользователь, выполнивший login") и, возможно, LoadProfile (галочка "Загрузить профиль").
 

Полезные самодельные задачи для сабжа на Ru-Board'е
 
Если хочется в имени задачи поставить пробел, используйте комбинацию Alt+0160, такой пробел принимается.
 
Полезные самодельные задачи для сабжа на оффоруме
 
Актуально!!! Запуск и работа nnCron в Win7 (оффорум)
 
nnCron на GitHub
 
 
предыдущее обсуждение - тут

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 15:38 29-01-2008 | Исправлено: RetroRocket, 07:16 15-10-2024
VoidVolker

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Анонс!
nnCron теперь официально доступен на гитхабе по адресу: https://github.com/nnCron/nnCron
Предложения, идеи, багерпорты, плагины - приветствуются
 
P.S. Репозитории в процессе наполнения, так что все будет со временем

Всего записей: 186 | Зарегистр. 10-11-2008 | Отправлено: 18:02 20-11-2015 | Исправлено: VoidVolker, 20:31 20-11-2015
VitRom

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VoidVolker
Цитата:
ннкрон необходимо запускать как приложение. Прична: отдельная сессия для сервисов и сервисы не имеют доступа к пользовательской сессии.
а семёрочная служба ЕМНИП "UI0detect" он же "Обнаружение интерактивных сервисов" не помогает?

Всего записей: 3110 | Зарегистр. 18-06-2006 | Отправлено: 21:14 20-11-2015
VoidVolker

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
а семёрочная служба ЕМНИП "UI0detect" он же "Обнаружение интерактивных сервисов" не помогает?

Она лишь для совместимости со старыми приложениями. Со временем, в новых ОС, вообще может её не оказаться.

Всего записей: 186 | Зарегистр. 10-11-2008 | Отправлено: 10:03 21-11-2015
Darth_Max

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VoidVolker
 

Цитата:
nnCron теперь официально доступен на гитхабе по адресу: https://github.com/nnCron/nnCron

Это означает скорый выход новой версии nnCron? 2 года ничего нового после беты 13.

Всего записей: 1199 | Зарегистр. 02-10-2014 | Отправлено: 14:56 22-11-2015
VoidVolker

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Это означает скорый выход новой версии nnCron? 2 года ничего нового после беты 13.

А что нового надо? Чего не хватает? Огромнейший функционал из коробки, плюс множество плагинов и неограниченные возможности по написанию новых плагинов.

Всего записей: 186 | Зарегистр. 10-11-2008 | Отправлено: 23:18 22-11-2015
Waran789



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VoidVolker
Лично мне не хватает нормального запуска службой, и еще хотелось бы фичу - чтобы можно было любую задачу в один клик из оболочки компильнуть в один единственный ехе, как это делает autoit, а уж если скомпиленый ехе можно было запускать с опциями - например запуститься как служба ну и так далее - ему бы вообще цены бы не было.

Всего записей: 641 | Зарегистр. 07-06-2008 | Отправлено: 11:16 23-11-2015
VoidVolker

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

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

При установке выбрать "установить как сервис".

Цитата:
и еще хотелось бы фичу - чтобы можно было любую задачу в один клик из оболочки компильнуть в один единственный ехе


Код:
' main-word MAINX ! S" my-task.exe" SAVE


Цитата:
как это делает autoit, а уж если скомпиленый ехе можно было запускать с опциями - например запуститься как служба ну и так далее - ему бы вообще цены бы не было.


Код:
net start my-task.exe >nul 2>&1

Всего записей: 186 | Зарегистр. 10-11-2008 | Отправлено: 19:50 23-11-2015 | Исправлено: VoidVolker, 19:50 23-11-2015
Darth_Max

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VoidVolker
 

Цитата:
А что нового надо?

Управление словами каждым ползуном в Микшере громкости в современных ОС, моложе XP. Управление окном UAC - вызов и т.п.
У меня 10-ка при завершении работы часто ругается, что nnCron не дает ей выключиться. На 7-ке такого не было.
 
Добавлено:
Аналог слова FILE-EXIST:, который проверяет наличие папки, а не файла.

Всего записей: 1199 | Зарегистр. 02-10-2014 | Отправлено: 19:39 28-12-2015
Skif_off

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Darth_Max

Цитата:
Аналог слова FILE-EXIST:, который проверяет наличие папки, а не файла.

Отвечал на предыдущей странице, чтобы не ответили и на следующей, процитирую справку:

Цитата:
FILE-EXIST: "file_pattern"
 
Возвращает флаг TRUE (-1), если указанный файл или каталог существует.

 
Добавлено:
+IS-DIR?, если нужно различить файл и каталог.

Всего записей: 6599 | Зарегистр. 28-01-2008 | Отправлено: 20:45 28-12-2015
sundraw

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Столкнулся с проблемкой. Есть скрипт

Код:
 
NoLog
Time: 20 * * * * *
Action:
WIN-EXIST: "*Program*"
IF
WIN-HWND VISIBLE? NOT
IF
StartIn: "C:\WINDOWS"  
SWHide   NormalPriority
START-APP: C:\WINDOWS\Go.bat
THEN
THEN
 

Суть в следующем. Загружается программа Program. Если всё нормально, то открывается её окно "*Program*". Но бывают ситуации, когда программа зависает в стадии загрузки, окна с названиями отсутствуют. В этом случае её необходимо перезагрузить батником Go.bat. Но батник не запускается, так как не выполняется условие WIN-EXIST: "*Program*" из-за отсутствия этого самого окна. Какое условие ещё можно подобрать, кроме WIN-EXIST? А лучше, если бы батник реагировал на отсутствие в трее значка программы.

Всего записей: 849 | Зарегистр. 15-05-2011 | Отправлено: 12:00 02-02-2016 | Исправлено: sundraw, 13:26 02-02-2016
VoidVolker

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Релиз nnCron beta 14
http://www.nncron.ru/download/nncron193b14.exe
Исправлена внутренняя ошибка, когда перезаписывался код последнего определенного слова перед установкой переменных окружения (наследие 16-битного СПФ).
 

Цитата:
Суть в следующем. Загружается программа Program. Если всё нормально, то открывается её окно "*Program*". Но бывают ситуации, когда программа зависает в стадии загрузки, окна с названиями отсутствуют. В этом случае её необходимо перезагрузить батником Go.bat. Но батник не запускается, так как не выполняется условие WIN-EXIST: "*Program*" из-за отсутствия этого самого окна. Какое условие ещё можно подобрать, кроме WIN-EXIST? А лучше, если бы батник реагировал на отсутствие в трее значка программы.


Код:
WIN-EXIST: "*Program*"
IF  
    WIN-HWND VISIBLE? NOT  
    IF  
        StartIn: "C:\WINDOWS"  
        SWHide   NormalPriority  
        START-APP: C:\WINDOWS\Go.bat  
    THEN  
ELSE
    PROC-EXIST: "Program.exe"  
    IF
        KILL: "Program.exe"  
    THEN
THEN

 

Всего записей: 186 | Зарегистр. 10-11-2008 | Отправлено: 10:16 09-02-2016 | Исправлено: VoidVolker, 10:17 09-02-2016
sundraw

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VoidVolker

Цитата:
Код:
WIN-EXIST: "*Program*"
IF  
    WIN-HWND VISIBLE? NOT  
    IF  
        StartIn: "C:\WINDOWS"  
        SWHide   NormalPriority  
        START-APP: C:\WINDOWS\Go.bat  
    THEN  
ELSE
    PROC-EXIST: "Program.exe"  
    IF
        KILL: "Program.exe"  
    THEN
THEN  

 
То что нужно, работает. Спасибо.

Всего записей: 849 | Зарегистр. 15-05-2011 | Отправлено: 11:01 09-02-2016 | Исправлено: sundraw, 11:52 09-02-2016
VoidVolker

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Релиз nnCron beta 15
http://www.nncron.ru/download/nncron193b15.exe
http://www.nncron.ru/forums/viewtopic.php?f=5&t=13327
 
Исправлен баг с поиском в строках длиной более 65535 байт.

Всего записей: 186 | Зарегистр. 10-11-2008 | Отправлено: 18:39 15-02-2016
brRamires

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Предложения, идеи, багерпорты, плагины - приветствуются

Добавить для задач опции NoRunMenuEntry, NoEditMenuEntry, NoMenuEntry, чтобы в соотв. пунктах меню трей-иконки не маячили лишние пункты (NoMenuEntry - для обоих подменю).
Добавить для tm.exe в список "Время->По событию->При" пункт Пробуждение (WatchResume), а в список "Действие" - пункты Сон (POWER-SUSPEND), Гибернация (POWER-HIBERNATE). Можно, конечно, ещё чего-нибудь добавить.
 
Кстати, в справке нашёл ошибку. Во-первых, tm.exe предлагает для события "Вставка компакт-диска" (хотя сегодня актуальней флешки) WatchDriveInsert (=WatchDrive), чего в справке нет. Там же, в задаче-примере test_watchdriveremove http://www.nncron.ru/help/RU/commands/watch.htm#WatchDriveInsert, написано WatchDriveRemve: "E".

Всего записей: 564 | Зарегистр. 28-09-2008 | Отправлено: 11:10 24-02-2016
VoidVolker

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Добавить для задач опции NoRunMenuEntry, NoEditMenuEntry, NoMenuEntry, чтобы в соотв. пунктах меню трей-иконки не маячили лишние пункты (NoMenuEntry - для обоих подменю).

http://www.nncron.ru/help/RU/add_info/tips_n_tricks.htm#classic_task
А еще есть плагин, позволяющий легко генерировать собственные меню: http://www.nncron.ru/forums/viewtopic.php?f=23&t=9555#p35123
 

Цитата:
Кстати, в справке нашёл ошибку. Во-первых, tm.exe предлагает для события "Вставка компакт-диска" (хотя сегодня актуальней флешки) WatchDriveInsert (=WatchDrive), чего в справке нет. Там же, в задаче-примере test_watchdriveremove http://www.nncron.ru/help/RU/commands/watch.htm#WatchDriveInsert, написано WatchDriveRemve: "E".

Спасибо за багрепорт.

Всего записей: 186 | Зарегистр. 10-11-2008 | Отправлено: 13:01 24-02-2016
brRamires

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VoidVolker
Про плагин знаю, а про classic task просмотрел.

Цитата:
Спасибо за багрепорт.

Пожалуйста. Ещё здесь http://www.nncron.ru/help/EN/working/cron-format.htm в самом низу
\ (this has the sane effect  as "Time: START-TIME"). И там же, ещё ниже можно добавить пробел в \it will be, чтобы не бросалось в глаза.
 
Добавлено
Почему от этой задачи ннКрон падает? (В реальной задаче, конечно, не калькулятор, но суть та же.)

Код:
#( test_automation
    WatchHotKey: {F1}
    Action:
        START-APP: "calc.exe"
        10 0 DO
            PAUSE: 500
 
            WIN-EXIST: "Калькулятор"
            IF
                WIN-HIDE: "Калькулятор"
                SEND-KEYS-DELAY: 100 0
                WIN-SEND-KEYS: "Калькулятор" "@"
                WIN-SEND-KEYS: "Калькулятор" "{RIGHT}{RIGHT}{DOWN}{DOWN}{ENTER}"
 
                10 0 DO
                    PAUSE: 500
                    FOR-WINDOWS: "Калькулятор: сведения"
                        1 BalloonIcon !
                        BALLOON: "Планировщик" "Сведения были открыты"
                        KILL: "calc.exe"
                        UNLOOP EXIT  \ если LEAVE EXIT - тоже самое
                    ;FOR-WINDOWS
                LOOP
 
                KILL: "calc.exe"
                1 BalloonIcon !
                BALLOON: "Планировщик" "Не удалось открыть сведения"
                UNLOOP EXIT
            THEN
        LOOP
 
        2 BalloonIcon !
        BALLOON: "Планировщик" "Не удалось запустить Калькулятор"
)#

Предполагаю, дело в UNLOOP EXIT, хотя сделано по справке. Если использовать LEAVE EXIT - получается тоже самое. Как правильно выйти из задачи?

Всего записей: 564 | Зарегистр. 28-09-2008 | Отправлено: 00:21 25-02-2016 | Исправлено: brRamires, 20:29 25-02-2016
VoidVolker

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LEAVE - просто заканчивает цикл и продолжает выполнение кода после LOOP. Если надо выйти из цикла и не выполнять код после LOOP - то UNLOOP EXIT.
 
В данном случае сложность в том, что код в циклах FOR-* - по факту находится внутри безымянного слова. И выход из внешнего цикла оттуда невозможен. Если решение о выходе принимается внутри цикла FOR-* - то надо это решение передавать через переменную с флагом. Т.е., внутри FOR-* сохраняем результат в переменную и проверяем её за пределеми данного цикла.

Код:
#( test_automation  
     WatchHotKey: {F1}  
     VARIABLE flag
     Action:  
         START-APP: "calc.exe"  
         10 0 DO  
             PAUSE: 500  
   
             WIN-EXIST: "Калькулятор"  
             IF  
                 WIN-HIDE: "Калькулятор"  
                 SEND-KEYS-DELAY: 100 0  
                 WIN-SEND-KEYS: "Калькулятор" "@"  
                 WIN-SEND-KEYS: "Калькулятор" "{RIGHT}{RIGHT}{DOWN}{DOWN}{ENTER}"  
 
                 10 0 DO  
                     PAUSE: 500                  
                     flag ON
                     FOR-WINDOWS: "Калькулятор: сведения"  
                         flag @ IF
                             1 BalloonIcon !  
                             BALLOON: "Планировщик" "Сведения были открыты"  
                             KILL: "calc.exe"
                             flag OFF
                         THEN
                     ;FOR-WINDOWS  
                     UNLOOP UNLOOP EXIT
                 LOOP  
   
                 KILL: "calc.exe"  
                 1 BalloonIcon !  
                 BALLOON: "Планировщик" "Не удалось открыть сведения"  
                 UNLOOP EXIT  
             THEN  
         LOOP  
   
         2 BalloonIcon !  
         BALLOON: "Планировщик" "Не удалось запустить Калькулятор"  
 )#

Всего записей: 186 | Зарегистр. 10-11-2008 | Отправлено: 01:57 26-02-2016 | Исправлено: VoidVolker, 01:59 26-02-2016
brRamires

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VoidVolker
Идея понятна, но в вашем примере логическая ошибка: если ожидаемое окно не появится (например, FOR-WINDOWS: "Калькулятор: сведения22222"), то сообщение "Не удалось открыть сведения" тоже не быдет выведено. Переделал так:

Код:
flag OFF
10 0 DO
    PAUSE: 500
    FOR-WINDOWS: "Калькулятор: сведения"
        1 BalloonIcon !
        BALLOON: "Планировщик" "Сведения были открыты"
        KILL: "calc.exe"
        flag ON
    ;FOR-WINDOWS
    flag @ IF
        UNLOOP UNLOOP EXIT
    THEN
LOOP

 
В книге по Форту нашёл:

Цитата:
В Форте, кроме того, имеются слова. QUIT (ОКОНЧИТЬ), которое вызывает прекращение работы программы, но не очищает стек, и ABORT (ПРЕРВАТЬ), которое выполняет те же действия, что и QUIT, очищает стек но не выводит сообщение.

С ABORT не получилось, но если в моём первом примере заменить строку "UNLOOP EXIT  \ если LEAVE EXIT - тоже самое" на QUIT, то вроде бы работает как надо. Это правильный код?

Всего записей: 564 | Зарегистр. 28-09-2008 | Отправлено: 19:50 26-02-2016
VoidVolker

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Идея понятна, но в вашем примере логическая ошибка

Вот пример-то как раз не мой Я лишь исправил явную ошибку.

Цитата:
UNLOOP UNLOOP EXIT

Это выход из двух вложенных циклов и из задачи. Если нужно просто досрочно окончить текущий цикл - то просто LEAVE.

Цитата:
С ABORT не получилось, но если в моём первом примере заменить строку "UNLOOP EXIT  \ если LEAVE EXIT - тоже самое" на QUIT, то вроде бы работает как надо. Это правильный код?

А какова задача-то? Надо окончить задачу в середине цикла? Или надо просто остановить цикл?

Всего записей: 186 | Зарегистр. 10-11-2008 | Отправлено: 20:17 26-02-2016
brRamires

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Надо окончить задачу в середине цикла?

Да. То, что стек не очищается, как я понял, не имеет значения.

Всего записей: 564 | Зарегистр. 28-09-2008 | Отправлено: 20:47 26-02-2016
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

Компьютерный форум Ru.Board » Компьютеры » Программы » nnCron


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru