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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
alekra

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tnav
4 S" %str1 COUNT%" EVAL-SUBST DROP S" %str1 COUNT%" EVAL-SUBST DROP 0 MessageBoxA
 

Всего записей: 112 | Зарегистр. 19-02-2004 | Отправлено: 20:41 03-04-2009
Tnav

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
alekra
то что доктор прописал! сенк =)

Всего записей: 472 | Зарегистр. 01-08-2006 | Отправлено: 11:17 04-04-2009
DJ makrus

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tnav
Цитата:
почему так происходит
Ты выделил область памяти заполненную нулями длиной в 256 ячеек.
В задаче помещаешь в этот буфер строку длиной в 9 символов, т.е. 10-ый символ в строке - "0". Затем помещаешь строку меньшей длиной в 4 символа которые затирает значения только в первых 4-х ячеках буфера и блийжайший символ содержащий "0" по прежнему в 10-ой ячейке. MessageBoxA получив адрес буфера считывает строку до первой ячейки с "0", т.е. первые 9 ячеек в которых и нужная нам строка "Test" и мусор от прежнего содержимого ячеек.
Цитата:
как предотвратить?
1. Использовать два буфера вместо одного
2. Заносить новые строки в тот же буфер дополнительно записывая "0" в конце помещаемой туда строки, вот например как будет выглядеть твоя задача:
Код:
#( Test
CREATE str1 256 ALLOT
: 2nd-PLACE ( a1 u1 a2 -- ) 2>R 2R@ PLACE 2R> + 1+ 0 SWAP ! ; \ помещаем в буфер и дописываем "0"
\ Записываемая строка должна быть хотя бы на 1-цу меньше длины буфера, что бы было куда писАть "0"
Action:
S" 123456789" str1 PLACE
S" Test" str1 2nd-PLACE
4 str1 COUNT DROP str1 COUNT DROP 0 MessageBoxA DUP
6 = IF THEN DROP
)#

3. Ну и конечно же вариант предложенный alekra, с одной стороны простота для начинающего пользователя, с другой стороны чуть большая загруженность этой же строки, из неочевидных минусов - EVAL-SUBST - достаточно медленное слово, на одной задаче разницы ты не почувствуешь, но, IMHO, если можно обойтись без него, то лучше без него.
Так что выбирай, хотя выбор ты уже сделал  

----------
все познается в сравнении

Всего записей: 529 | Зарегистр. 25-03-2004 | Отправлено: 11:59 06-04-2009
bornbill



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
1. Есть ПО стороннее которое выдаёт ошибку
2. Итого как проанализировать есть ли во всех окнах всех лабелах (собственно там и пишится ошибка) указанное варажение например "Программа не может быть"
Заранее благодарен.

Всего записей: 1440 | Зарегистр. 02-04-2004 | Отправлено: 21:37 17-04-2009
Jans



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
люди, подмогните
задача в том, чтобы на ADSL мопеде, при разрыве сессии и смене ИП адреса, на заданное мыло слался лог (мессага, в случае с QIP ) с указанием новых данных по подключению,- ИП, маска и пр.
 
заранее

Всего записей: 2364 | Зарегистр. 07-12-2006 | Отправлено: 13:55 24-04-2009
DJ makrus

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bornbill
Цитата:
Итого как проанализировать есть ли во всех окнах всех лабелах (собственно там и пишится ошибка) указанное варажение например "Программа не может быть"
Тебе же наверное все-таки не надо во всех окнах, а только в конкретных..., хотя это не сильно что меняет...
Используй цикл по окнам FOR-WINDOWS: ... ;FOR-WINDOWS, при необходимости задействуй внутри этого цикла цикл по дочерним окнам FOR-CHILD-WINDOWS: ... ;FOR-CHILD-WINDOWS и с помощью регулярных выражений сверяй с искомым заголовком...
Что бы определиться какого уровня твое окошко, посмотри его сначала утилитой встроенной в nnCron (вызывается из контекстного меню иконки) или аналогичными.
 
Jans
Цитата:
...чтобы на ADSL мопеде, при разрыве сессии и смене ИП адреса, на заданное мыло слался лог...
Заведи переменную (лучше файловую) в которой будешь хранить IP текущей сессии, пусть твоя задача стартует раз в минуту (вроде вполне достаточная точность для подобной задачи?) и с помощью "ipconfig /all >C:\currentIP.txt" получает текущий IP (через  построчное чтение файла) сверяет с тем что в переменной и если отличается от него, то отправляет весь файл currentIP.txt тебе на мыло (см. тему на оффоруме), в случае месаги через QIP - не знаю есть ли необходимые команды комстроки, но наверняка это можно сделать через эмуляцию мыши/клавы..., и не забудь при смене IP сохранить новое значение в переменной.

----------
все познается в сравнении

Всего записей: 529 | Зарегистр. 25-03-2004 | Отправлено: 08:34 28-04-2009
Tnav

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

Код:
HTTP-LM: "http://blablabla123.org/index.php"

вызывает ошибку стека в случае несуществования\недоступности хоста. Есть какие то идеи, как этого избежать, кроме как пинговать перед использованием HTTP-LM ?
 
2DJ makrus
спасибо за подробное разъяснение.

Всего записей: 472 | Зарегистр. 01-08-2006 | Отправлено: 14:33 28-04-2009
valmont al

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Друзья, прошу помощи, уже весь измучался.
Условие:  
На диске есть директория А и директория Б. В директорию А постоянно записываются файлы (неважно откуда и как). Мониторю появление этих файлов с помощью WatchFile.
Задача:  
При появлении файла в директории А перенести его в директорию Б, после чего внешнему приложению передать имя файла.
Тобишь Run C:\Programma.exe - <filename>
И всё бы хорошо, только не могу я придумать как получить имя этого перемещаемого файла
%FOUND-FILENAME% вроде как оттуда.. но не придумаю как с ним обращаться..
Помогите

Всего записей: 129 | Зарегистр. 28-07-2007 | Отправлено: 22:00 04-05-2009 | Исправлено: valmont al, 22:02 04-05-2009
DJ makrus

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tnav
Цитата:
...Есть какие то идеи, как этого избежать...
А тех идей что изложены в Help'е не достаточно? Есть пример с HTTP-LM в котором обрабатывается и случай недоступности/отсутствия (что именно можно определить с помощью HTTP-RESULT) запрашиваемого ресурса..., и там не должно быть ошибок стека даже в этом случае..., покажи задачу которая выдает ошибку.
 
valmont al
Цитата:
И всё бы хорошо, только не могу я придумать как получить имя этого перемещаемого файла...
Покажи свою задачу, а я подкорректирую ее...
Походу еще вопросы:
1. в исходном состоянии директория "А" должна быть пустой? Или там могут быть какие-нибудь файлы которые не надо трогать?
2. покажи конкретный рабочий пример командной строки (например, как бы ты передал файл "C:\Temp\foto.jpg в батнике"
3. В каком диапазоне варьирует размер обрабатываемых файлов?

----------
все познается в сравнении

Всего записей: 529 | Зарегистр. 25-03-2004 | Отправлено: 09:27 06-05-2009
valmont al

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DJ makrus
Замудрил я видимо сильно мысль. Упрощу.
Есть директория. В неё копируется/перемещается файл.
Нужно передать имя/путь этого файла внешнему приложению.
К примеру, в директорию C:\1\ перемещается файл 222.txt
В результате nncron должен запустить "C:\Windows\notepad.exe C:\1\222.txt"
Т.е. в результате этот файл откроется в ноутпаде.

Всего записей: 129 | Зарегистр. 28-07-2007 | Отправлено: 12:08 08-05-2009
DJ makrus

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
valmont al
Цитата:
Замудрил я видимо сильно мысль.
да нет вроде..., просто возможно к этим вопросам все-равно прийдется вернуться...
Цитата:
В результате nncron должен запустить "C:\Windows\notepad.exe C:\1\222.txt"

Код:
S" C:\Windows\notepad.exe " \ пробел в конце строки в кавычках обязателен
    FOUND-FULLPATH S+ START-APP
пробуй.

----------
все познается в сравнении

Всего записей: 529 | Зарегистр. 25-03-2004 | Отправлено: 20:05 08-05-2009
valmont al

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

Код:
WatchFile: "D:\1\*.txt"
Action:
S" C:\Windows\notepad.exe "
FOUND-FULLPATH S+ START-APP

Что-то так не работает. Пробовал и с "\" в конце строки - тоже самое

Всего записей: 129 | Зарегистр. 28-07-2007 | Отправлено: 11:54 09-05-2009
Tnav

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

Цитата:
А тех идей что изложены в Help'е не достаточно?

да, протупил

Всего записей: 472 | Зарегистр. 01-08-2006 | Отправлено: 12:55 09-05-2009
DJ makrus

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
valmont al
Лучше как-то вот так:
Код:
SingleInstance
WatchDir: "D:\1"
WATCH-CHANGE-LAST-WRITE
Action:
  FOR-FILES: "D:\1\*.txt"
    S" C:\Windows\notepad.exe "  
    FOUND-FULLPATH S+ START-APP
  ;FOR-FILES
 


----------
все познается в сравнении

Всего записей: 529 | Зарегистр. 25-03-2004 | Отправлено: 23:01 09-05-2009
basstard

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
не удается отследить запуск произвольного процесса:
nnCron реагирует только на те, которые сам же и породил,
например:

Код:
WatchProc: "notepad.exe"
Action:
PLAY-SOUND: "C:\Windows\Media\tada.wav"  

при открытиии блокнота ничего не происходит,
а вот если выбрать “лог-файл” в меню самого nnCron’а,
тогда notepad будет дочерним к nnCron’у процессом,
и все отлично работает …я дурак?

Всего записей: 58 | Зарегистр. 05-08-2008 | Отправлено: 19:38 10-05-2009 | Исправлено: basstard, 19:40 10-05-2009
DJ makrus

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
basstard
Цитата:
...при открытиии блокнота ничего не происходит...
От чего имени работает nnCron и от чьего Notepad? Какие варианты авторизации пробовал?
Кроме того ты действительно пытаетешься отловить запуск блокнота или это тестовая задача? Делов в том, что некоторые программы всячески пытаются замаскировать свои процессы...

Всего записей: 529 | Зарегистр. 25-03-2004 | Отправлено: 23:06 10-05-2009
basstard

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DJ makrus,
дело, оказывается, было не в том, что notepad,
запущенный из nnCron’а — это дочерний к нему процесс,
а в том что 64-х битная винда для 32-х битного nnCron’а
запускает специальный 32-х битный notepad из папки
%SystemRoot%\SysWOW64, и nnCron его видит
не потому, что он дочерний, а потому, что он 32-х битный.
nnCron может работать в 64-х битной среде,
но не видит в ней 64-х битных процессов. такие дела…

Всего записей: 58 | Зарегистр. 05-08-2008 | Отправлено: 13:46 11-05-2009
valmont al

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DJ makrus
Спасибо дружище, так работает!
Один нюанс ещё, если нужно вставить ключ, где его прописать ?  
Тобишь запускать ноутпад с ключом "key"
C:\Windows\notepad.exe /key

Всего записей: 129 | Зарегистр. 28-07-2007 | Отправлено: 12:58 12-05-2009
iknow



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте всем
 
скажите пожалуйста - правильный ли формат для задачи которая должна выполняться каждую вторую субботу в 11 часов?
Time: 0  11  * *  6/2  *

Всего записей: 673 | Зарегистр. 21-09-2005 | Отправлено: 17:14 13-05-2009
DJ makrus

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
basstard
  Спасибо за информацию
 
valmont al
Цитата:
...если нужно вставить ключ, где его прописать ?
Все там же..., смотри, вот уже известный тебе вариант + мои комментарии:
Код:
S" C:\Windows\notepad.exe "  \ положили на стек строку с полным путем процесса и сразу добавили в конце него пробел
                                             \ что бы последующая "приклеиваемая" строка "приклеивалась" через пробел а не в притык
    FOUND-FULLPATH                \ положили на стек еще одну строку с полным путем открываемого файла
    S+                                     \ склеили две строки находящиеся на стеке, к первой дописали (приклеили) вторую и получили одну целую строку
    START-APP                         \ запустили приложение описанное в верхней на стеке строке со всеми параметрами
                                             \ находящимися в той же строке на вершине стека    
а теперь то что ты хочешь (если я правильно понял) + дополнительная строчка облегчающая отладку:

Код:
S" C:\Windows\notepad.exe "  
    S" /key" \ этот ключ добавляем в строку
    S+
    2DUP CRON-LOG \ дублируем полученную строку что бы одну из них вывести в лог и выводим в него, после отладки эту строку можно убрать или закомментировать
    START-APP  
пробуй.
 
iknow
Цитата:
...должна выполняться каждую вторую субботу в 11 часов...
да, вроде все верно, но поскольку я подобное не практиковал, то я уверен на 99%, потестируй если будет вести себя не так как хочется, то есть еще запасной вариант с файл-флагом...

----------
все познается в сравнении

Всего записей: 529 | Зарегистр. 25-03-2004 | Отправлено: 10:44 14-05-2009
Открыть новую тему     Написать ответ в эту тему

Страницы: 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