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

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

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

Widok (29-01-2008 15:38): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

8AleX8



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


история изменений - http://www.nncron.ru/forums/viewforum.php?f=11
форум - http://www.nncron.ru/forums/
 
архив конференции поддержки: » fido7.ru.nncron
 
скачать: http://www.nncron.ru/download_ru.shtml - программу, документацию, плагины, скрипты
 
последняя версия:  
 
v.1.91 (build 1083) - последний релиз от 21 марта 2006 (+ основные плагины и документация на английском языке)  
 
документация:  
 
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 (галочка "Загрузить профиль").
 

Полезные самодельные задачи для сабжа
 

Всего записей: 1813 | Зарегистр. 11-12-2001 | Отправлено: 23:26 27-04-2002 | Исправлено: lucky_Luk, 18:16 22-09-2007
NULL

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
читал.. т.е. вот этой строкой???  
WIN-SET-TITLE: "%GetForegroundWindow%" "new_title"
 
(если да.. то сразу скажу.. что туплю, так как не могу при помощи этого сделать задуманное.. как дальше перенаправить хэндл в др. место.. )
ну вот на конкретном примере..  

Код:
 
#( MP5_play
NoLog
Time: 15 10 * * * *
Action:
0 40045 273 хэндл SendMessageA DROP
100 MIXER-VOLUME!
)#
 

как в хендл впихнуть %GetForegroundWindow% ,,?? шарил бы в ФОРТЕ глупых вопрос не задавал бы  

Всего записей: 46 | Зарегистр. 16-10-2003 | Отправлено: 15:01 18-03-2004
strauss

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NULL
 
Для "стартов" и "стопов" Winamp есть спец. плагин - winamp.spf. Рекомендую!
 
No_48
 
Это легко делается с помощью оегулярных выражений. Почитай главу док "Поддержка регулярных выражений". Кстати, недавно в RU.NNCRON проходил похожий пример.

Всего записей: 148 | Зарегистр. 19-06-2002 | Отправлено: 22:00 18-03-2004
4get

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NULL
Цитата:
читал.. т.е. вот этой строкой???  
WIN-SET-TITLE: "%GetForegroundWindow%" "new_title"

дело не в Форте - ты, когда первый раз спрашивал, непонятно было - программировал ли ты под Windows вообще..а предупреждать надо :)
 
вот вопрос
Цитата:
но при перезагрузке Хэндл же меняется.. хотелось бы это дело автоматизировать!  
..
«выяснив Window Handle нужного окна».. а вот как бы его отловить, по заголовку окна или имени процесса как угодно

 
вот ответ: http://www.nncron.ru/help/RU/commands/windows.htm#note
Цитата:
Примечание: после большинства "оконных" команд (а также WIN-EXIST:) USER-VALUE переменная WIN-HWND содержит window handle соответствующего окна, а переменная %FOUND-WINDOW% - заголовок этого окна. (%WIN-TITLE% является синонимом %FOUND-WINDOW%).

 
и дальше уточнение с каким параметром работает WIN-EXIST: -
Цитата:
win_pattern - это маски заголовка окна или класса окна. Задавая маску заголовка окна можно применять символы * и ? или регулярные выражения, заключив их в прямые слеши: /<regexp>/. Также в win_pattern можно использовать window handle нужного окна (и в десятичном, и в шестнадцатеричном представлении). Класс, точный заголовок и window handle нужного окна можно узнать с помощью утилиты WinSpy.

 
хендл не годится, заголовок винампа меняется вместе с версией, остается класс .. класс у главного окна винампа - Winamp v1.x

Код:
WIN-EXIST: "Winamp v1.x"  
IF
   0 40045 273 WIN-HWND SendMessageA DROP  
THEN

 
а перед этим наверняка потребуется и поднятие винампа.. например:

Код:
PROC-EXIST: "winamp.exe" NOT
IF
  LoadProfile
  ShowNormal NormalPriority
  START-APP: "C:\Program Files\Winamp5\winamp.exe"  
  PAUSE: 5000
THEN

Всего записей: 956 | Зарегистр. 19-09-2001 | Отправлено: 02:05 19-03-2004 | Исправлено: 4get, 02:08 19-03-2004
NULL

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

Цитата:
 
Для "стартов" и "стопов" Winamp есть спец. плагин - winamp.spf. Рекомендую!  
 

да с этим все понятно..  я хотел хэндл автоматом узнавать!!. .спасибо за это  4get
 оч. помог..  

Цитата:
переменная WIN-HWND содержит window handle соответствующего окна

я блин не внимателен..  
все работает..  
 
эх нужно будет получше изучить все прелести Крона.. эт такая СИЛА..

Всего записей: 46 | Зарегистр. 16-10-2003 | Отправлено: 02:35 19-03-2004
volodyalipkin



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Можно ли сделать так, чтобы log файл открывался одной программой (viewer-ом), а nnCron.tab - другой (editor-ом)?

Всего записей: 771 | Зарегистр. 12-10-2002 | Отправлено: 21:30 20-03-2004
albel



Moderator
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
подскажите чайнику
фтп-сервер пишет лог-файлы в формате ftp-01-мар-2004.log
Как проще найти файл за предыдущий день (проблема возникает, когда есть переход на след. месяц, т.к. предыдущий файл будет иметь формат  ftp-28-фев-2004.log), чтобы произвести с ним некие действия?

----------
Я никогда не спорю. Я никогда не противоречу. Я иногда забываю. / © Б.Дизраэли/

Всего записей: 11003 | Зарегистр. 30-08-2002 | Отправлено: 23:14 20-03-2004
volodyalipkin



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

Цитата:
ftp-01-мар-2004.log  
Как проще найти файл за предыдущий день (проблема возникает, когда есть переход на след. месяц, т.к. предыдущий файл будет иметь формат  ftp-28-фев-2004.log

 
Предыдущий будет ftp-29-фев-2004.log
 
Можно использовать
 
DAY+ ( y m d days -- y1 m1 d1 )
 
Это слово позволяет "добавить" или "отнять" произвольное количество дней у даты, указанной в формате YMD и получить результат в этом же формате, с учетом количества дней в месяце и количества месяцев в году.
 
Для преобразования вышеуказанного формата log файлов в YMD, можно использовать regexp  
 
 
 

Всего записей: 771 | Зарегистр. 12-10-2002 | Отправлено: 03:44 21-03-2004 | Исправлено: volodyalipkin, 03:49 21-03-2004
CUrve

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Скажите, а как работать со списком файлов поочереди?
Точнее мне надо переименовывать все файлы в директории по их дате - есть фаил nnn.txt, а мне надо что бы он был назван по дате создания (2004 апрель 06 - 12 часов 10 минут.txt) скажите пожалуйста.

Всего записей: 2 | Зарегистр. 07-04-2004 | Отправлено: 00:46 07-04-2004
volodyalipkin



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
CUrve
FOR-FILES: "path\mask" <...> ;FOR-FILES

Всего записей: 771 | Зарегистр. 12-10-2002 | Отправлено: 08:00 07-04-2004
Kuugle



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ, а он на 2003 сервере идёт?  
Конкретно интересует появление иконки в трее.
В сервисах он появляется и его можно запустить и остановить.
А иконки в трее нет вообще....  
С этого же дистрибутива установлен на XP - всё ок.  
Регистрация для некоммерческого использования..

Всего записей: 64 | Зарегистр. 01-12-2003 | Отправлено: 17:58 07-04-2004
strauss

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
CUrve
 
Вообще, задача не самая тривиальная. Но решается не слишком сложно:
 

Код:
#( test_rename_files  
\ NoActive
WatchHotKey: "${F6}"
Action:
    FOR-FILES: "C:\TEMP\*"
        \ узнаем и сохраняем расширение файла:
        FOUND-FILENAME S" /^.*\.(.*)$/" RE-MATCH
        IF
            $1 PAD PLACE
        ELSE
            S" " PAD PLACE
        THEN
        \ узнаем время создания файла и переименовываем его:
        FILE-TIME: "%FOUND-FULLPATH%" FT>DD.MM.YYYY/hh:mm:ss
        S" /(.*)\/(\d*)\d*)\d*)/" RE-MATCH
        IF
            FILE-RENAME: "%FOUND-FULLPATH%" "C:\TEMP\%$1%-%$2%.%$3%.%$4%.%PAD COUNT%"
        THEN
    ;FOR-FILES
)#


Всего записей: 148 | Зарегистр. 19-06-2002 | Отправлено: 18:11 07-04-2004
Svarga

Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Развлекался на досуге, если кому интересно:
    Нотный редактор для nnCron и beeper'а
Намного быстрее, чем руками набираются ноты + возможность изменения темпа, транспозиции по октавам...
 
Вот тестовая тема:
http://forum.ru-board.com/topic.cgi?forum=2&topic=0985#1

----------
away.

Всего записей: 4161 | Зарегистр. 25-06-2002 | Отправлено: 18:42 07-04-2004
CUrve

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

Цитата:
CUrve  
Вообще, задача не самая тривиальная. Но решается не слишком сложно:  

Большое спасибо, правда я полный профан и у меня этот скрипт не заработал, хотя, вроде бы, все ок. Может я что то непонял? В "C:\Temp" все остается по старому.

Всего записей: 2 | Зарегистр. 07-04-2004 | Отправлено: 23:37 07-04-2004
strauss

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
CUrve
 
Думаю, проблема в том, что скрипт нашей бордв вставил в текст задачи свои смайлики. должно было быть так:
 

Код:
 
#( test_rename_files  
\ NoActive  
WatchHotKey: "${F6}"  
Action:  
    FOR-FILES: "C:\TEMP\*"  
        \ узнаем и сохраняем расширение файла:  
        FOUND-FILENAME S" /^.*\.(.*)$/" RE-MATCH  
        IF  
            $1 PAD PLACE  
        ELSE  
            S" " PAD PLACE  
        THEN  
        \ узнаем время создания файла и переименовываем его:  
        FILE-TIME: "%FOUND-FULLPATH%" FT>DD.MM.YYYY/hh:mm:ss  
        S" /(.*)\/(\d*):(\d*):(\d*)/" RE-MATCH  
        IF  
            FILE-RENAME: "%FOUND-FULLPATH%" "C:\TEMP\%$1%-%$2%.%$3%.%$4%.%PAD COUNT%"  
        THEN  
    ;FOR-FILES  
)#
 

Всего записей: 148 | Зарегистр. 19-06-2002 | Отправлено: 00:50 08-04-2004
Timon_Crazy



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Как можно с помощю Хрона, зделать отправку брэккэстом, тосеть юзеру по локалке в случае настплуения определенного события?

----------
Сходка РУ-Борда в Новосибирске
Мой дневник - Сщастливый безумец

Всего записей: 353 | Зарегистр. 16-08-2003 | Отправлено: 15:04 08-04-2004
DJ makrus

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
                                         Доброго времени суток!
  Не могли бы подсказать как организовать массив (хотя бы одномерный, но если не сложно, то и 2/3-х мерный), каждый элемент которого был бы сторокой (например имя файла).
  В справке примеры массивов из цифр и символов (массив из символов - строка, но одна), справка за подробностями отправляет к документации по Форту, но я просмотрел книгу Л. Броуди и справочник по командам Форта, но с массивами так и не разобрался

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

Всего записей: 529 | Зарегистр. 25-03-2004 | Отправлено: 23:10 14-04-2004
Zhuk

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите пожалуйста, можно ли nncron'ом сделать такое:
Есть диалап соединение с Интернетом с динамическим ip адресом. Поверх него устанавливается vpn соединение (и винда прописывает его шлюзом по умолчанию).  
Нужно чтобы маршрут к некоторым  адресам шел в обход vpn.
Если бы ip на диалапе был постоянным, то все решалось бы просто запуском bat файла со списком маршрутов, например:
Route add 123.123.0.1 22.22.22.22
Route add 123.123.0.2 22.22.22.22
Route add 123.123.0.3 22.22.22.22
Но поскольку адрес шлюза 22.22.22.22 динамический, то его надо писать в виде переменной наверно? Но я не знаю как Может ли nncron присвоить переменной значение ip адреса текущего соединения и передать ее в бат файл?  
В линуксе все проще, там в качестве шлюза можно указать имя интерфейса, но виндовой команде route надо обязательно ip адрес.

Всего записей: 10 | Зарегистр. 27-03-2003 | Отправлено: 01:05 17-04-2004 | Исправлено: Zhuk, 01:08 17-04-2004
strauss

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DJ makrus
 
Строка в Форте это два числа на стеке: адрес и длина (счетчик). Что тебе мешает записывать в массив адрес строки (как число), а потом (при использовании строки) пользоваться словом COUNT, чтобы добавить к адресу счетчик?
 
 
Zhuk
 
Ну, если ты знаешь, как получить имя IP-соединения, то можно.

Всего записей: 148 | Зарегистр. 19-06-2002 | Отправлено: 21:53 21-04-2004
Dima1



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
                                         Доброе время суток!
Решил освоить nnCron. Для начала решил автоматизировать обновления DrWeb.
Задача:  
1.Проверяем наличие интернет соединения.
2.Если соединение есть  
    a)запускаем Drwebupw.exe
    b)ждем завершения приложения
    c)завершаем работу скрипта
3.Если соединения нет:
    a)запускаем звонилку
    b)проверяем,что соединение установлено
    с)запускаем Drwebupw.exe
    d)ждем завершения приложения
    e)разрываем соединение
     f)завершаем работу скрипта
Пока что улось только так:
Текст скрипта:
    ONLINE: "My_DIAL" 0=
    IF
        RASUser: "USER"
        RASSecPassword: "PASSWORD"
       DIAL: "My_DIAL" 5 30
    THEN
    ONLINE: "My_DIAL"  
    IF    
        StartIn: "D:\Soft\Security\DrWeb for Windows"  
        ShowNormal   NormalPriority
        START-APPW: D:\Soft\Security\DrWeb for Windows\Drwebupw.exe /Go      
        HANGUP: "My_DIAL"
     THEN
Вопрос: Как сделать чтобы, если до выполнения скрипта соединение было, то оно оставалось и после,
а если его не было до скрипта, то после выполнения скрипта оно разрывалось.
В моем скрипте соединение в конце разрывается в любом случае.
Надеюсь на помощь.  

Всего записей: 80 | Зарегистр. 20-08-2001 | Отправлено: 09:32 27-04-2004
DO

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

Код:
 
#( dialer
VARIABLE flag
Action:
  flag OFF
  ONLINE: "My_DIAL" 0=  
  IF
    RASUser: "USER"
    RASSecPassword: "PASSWORD"  
    DIAL: "My_DIAL" 5 30  
    flag ON
  THEN  
  ONLINE: "My_DIAL"  
  IF  
    StartIn: "D:\Soft\Security\DrWeb for Windows"  
    ShowNormal NormalPriority  
    START-APPW: D:\Soft\Security\DrWeb for Windows\Drwebupw.exe /Go  
    flag @ IF
      HANGUP
    THEN
  THEN
 

 
То есть если сами дозвонились, занести true в переменную и потом разрывать соединение.
 
Добавлено
В свою очередь вопрос для гуру
 
А не прикрутил ли кто-нибудь функцию RasAdminPortGetInfo к nnCron? Собственно корысть заключается в следующем - периодически снимать статистику по установленному dialup соединению и если ошибок > N - рвать его.

Всего записей: 121 | Зарегистр. 01-07-2001 | Отправлено: 17:29 27-04-2004
   

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

Компьютерный форум Ru.Board » Компьютеры » Программы » nnCron-Планировщик с поддержкой скриптового языка
Widok (29-01-2008 15:38): лимит страниц. продолжаем здесь


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru