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

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

Автор: adSka
Дата сообщения: 18.10.2007 11:00
alexvsm
пасиба
.
такой вопрос:
чем можно отливить состояние NumLock под 98й виндой?
пробовал keystate, но в 98й он чтото не пашет ((
Автор: alexvsm
Дата сообщения: 18.10.2007 13:23
adSka
keystate.spf ?
Автор: Stygis
Дата сообщения: 18.10.2007 13:41
alexvsm

Цитата:
adSka
пробовал keystate, но в 98й он чтото не пашет ((

Автор: adSka
Дата сообщения: 18.10.2007 14:46
alexvsm
ага, его самого
Автор: lucky_Luk
Дата сообщения: 18.10.2007 20:44
DJ makrus

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

Ага, кажется понял, надо будет попробовать .


Цитата:
в "стандартном" nnCron'е нет цикла BEGIN...END

Я имел ввиду BEGIN...UNTIL (английский, блин, начало, конец... ).
Автор: mistdream
Дата сообщения: 30.10.2007 20:58
Помогите пожалуйста реализовать следующую задачу.

Надо разработать скрипт, который будет выполнять следующее
1. Открываем Internet Explorer или Opera
2. Для указанной директории (вместе со всеми вложенными папками) открываем по очереди все файлы *.htm, *.html, *.shtml и сохраняем с тем же именем, но в формате mht. Новый файл кладем по тому же пути что и исходный.
Исходную директорию нужно будет указывать при запуске скрипта
3. При удачном сохранении все файлы, относящиеся к сохраненной странице удаляем физически.
4. После сохранения закрываем Opera или Explorer

Возможно ли все это осуществить с помощью nnCron?

Помогите пожалуйста новичку.
Автор: CHOPK
Дата сообщения: 02.11.2007 16:46

Цитата:
А под Vista он работает? У меня чего-то вроде установился... а при запуске в трее не появляется... и в процессах его нет

Цитата:
утрерждают что nnCron работает, но только из командной строки, а не как сервис.
Сам не проверял, но трудно ожидать полноценной работоспособности от программы релиз которой был когда и Vista ® как таковой, по моему, еще не было.
Отписал тут =)
Работает под Vista... иконка в трее появилась

Автор: DJ makrus
Дата сообщения: 03.11.2007 05:52
mistdream
Цитата:
...Возможно ли все это осуществить с помощью nnCron?
Да, возможно, и это не самая трудная задача с которой nnCron справляется.
Все необходимые слова есть в Help'е. Алгоритм ты описал, остановлюсь только на некоторых моментах:
Цитата:
Исходную директорию нужно будет указывать при запуске скрипта
воспользуйся для этого словом WIN-INPUT-TEXT:, остальной алгоритм п.2 примерно следующий:
- в цикле проходимся по всем файлам в нужной папке (см. FOR-FILES: ), тебе необходимы файлы трех форматов, поэтому можно запустить три раза с разной маской, но лучше один раз, но регэкспами проверить то ли расширение имеет текущий файл из папки.
- если расширение то которое нам необходимо, то заносим полный путь с именем текущего файла в список (1 строка - одно полное имя файла). В итого получаем файл содержащий список файлов для преобразования;
- начинаем построчно читать только что созданный файл-список (см. READ-LINE) и для каждой строки делаем следующее:
--- помещаем путь файла из текщей строки в буфер обмена
--- подсчитываем и запоминаем число символов в расширении файла (этот момент пока можешь пропускать, как в целом все заработает, то и с этим разберемся)
--- открываем броузер (например IE)
--- открываем в нем файл (через хоткеи: Ctrl+O, Ctrl+V, Enter)
--- сохраняем текущую страницу в формате *.mht (тоже через хоткеи: Crtl+S, Ctrl+V, в этом месте когда научишся подсчитывать количество символов "n" в расширении исходного файла пошлешь BACKSPACE "n+1" раз, Tab, DOWN ARROW - два раза, Tab, Enter.
--- проверяешь отличен ли от нуля размер получившегося файла
--- переходишь к следующей строке из файла-списка
- п.3 опять пробежавшишь по файлу-списку удаляешь все сконвертированные файлы, а затем и файл-список.

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

PS почти наверняка есть неоходимая тебе программа для конвертации в файлы-архивы *.mht

CHOPK
там же далее еще подсказывают выставить режим совместимости с Win98
Автор: CHOPK
Дата сообщения: 03.11.2007 12:57

Цитата:
CHOPK
там же далее еще подсказывают выставить режим совместимости с Win98
Это я и подсказываю (4e6yPaToP я там)
Автор: mistdream
Дата сообщения: 03.11.2007 19:24
DJ makrus


Огромное спасибо. Пока буду разбираться с этим, но по ходу прочтения возник еще один вопрос. Кроме удаления самих сохраненных страниц нужно удалить и файлы рисунков, относящихся к ним. Их как отследить?
Автор: DJ makrus
Дата сообщения: 04.11.2007 05:48
CHOPK
Цитата:
Это я и подсказываю (4e6yPaToP я там)
у тебя ссылка на сообщение от DkmS13132

mistdream
Цитата:
... нужно удалить и файлы рисунков, относящихся к ним. Их как отследить?
тут надо уточнить: например, если после конвертирования всех файлов в этой папке не должно остаться ничего до следующего "сеанса", то можно просто грохать все файлы с расширением отличным от *.mht, если рисунки располагаются в одноименных с конвертируемым файлом папках с "расширением" *.files (так IE сохраняет страницы) , то тут тоже ничего сложного - зная имя удаляемого файла проверяем есть ли "одноименная" папка и если есть то удаляем и ее, а вот если эти картинки располагаются и в корне папки где лежит конвертируемый файл и некоторые из них надо оставить, то тут чуть сложнее перед началов удаления сконвертированных файлов надо будет искать в каждом из них ссылки на очередной файл-картинку и после удаления всех приступить к удалению сконвертированных файлов.
Что бы мы тут не гадали, обрисуй ситуацию в целом, что это - когда-то насохраненные веб=странички и больше появлятся не *.mht файлы там не будут, или сохранение и после будет продолжаться в других формата, мож еще какие моменты есть...

PS ты таким образом сохраняешь интересные странички из Интернета? В свое время я делал примерно так же, потом стал сохранять сразу в *.mht, а потом познакомился с бесплатной программой HendyCache и перестал заниматься этой ерундой, т.к. у меня сохраняется все что проходит через мой браузер (99%) и найти при необходимости в сохраненном можно с помощью другой (правда не совсем бесплатной, но по большому счету и не очень дорогой) программы Archivarius, елси уж тебе надо каталогизировать сохраняемое по тематике, то мохно "каталогизировать" URI в каком-нибудь текстовом редакторе, либо специальной программке, а не сами файлы.
Автор: KOXAH
Дата сообщения: 04.11.2007 09:09
Помогите пожалуйста с организацией такой задачи в nnCrone. Есть 2 программы 1.exe и 2.exe, необходимо реализовать из поочередную работу через некоторые промежутки времени (например 20 минут), но чтобы вместе они не были запущены. Т.е. запускается 1.exe - отрабатывает 20 минут - закрывается, запускается 2.exe - отрабатывает 20 минут - закрывается - и так по кругу. Как это реализовать?
Автор: mistdream
Дата сообщения: 04.11.2007 22:12
DJ makrus

В папке может лежать все что угодно, в общем не только сохраненные hml -ки. Так что убить все содержимое папки нельзя. А в расположении рисунков могут быть оба варианта - как в одноименной папке, так и в корне.
Теперь я тоже сохраняю все в mht, вот только обилие кучи файлов начинает раздражать, поэтому задалась целью перевести все что есть сохраненного из сети в mht-ки.
Автор: DJ makrus
Дата сообщения: 05.11.2007 05:57
KOXAH
Цитата:
...Т.е. запускается 1.exe - отрабатывает 20 минут - закрывается, запускается 2.exe - отрабатывает 20 минут - закрывается ...
А с чем проблема-то?
Делаешь две задачи, в шапке одной
Код:
WatchProcStop: "1.exe"
Rule: PROC-EXIST: "1.exe" 0=
Автор: KOXAH
Дата сообщения: 05.11.2007 21:08
DJ makrus, пожалуйста извините мою тупость, почти ничего не понял, если можно - растолкуйте подробнее пожалуйста.
Автор: DJ makrus
Дата сообщения: 06.11.2007 05:57
KOXAH
1.Самокритика, это хорошо, но в разумных пределах.
Сомневаюсь, что ты туп, а вот то, что не прочел и тем более внимательно, всю справку на русском языке к nnCron'у - в этом я уверен на количество процентов близкое к 100.
2. Будь, пожалуйста, как можно точнее - если ты постараешься точнее изложить свою проблему, то другим будет легче правильно понять в чем именно у тебя проблема, и если они поняли ее и знают как решить, то им будетлегче помочь тебе. Например, ты пишешь что "почти ничего не понял", а чего именно? Ты предлагаешь мне здесь процетировать весь Help? Единственные слова которые ты мог бы не понять если прочел Help, то это шапка и тело задачи. Так вот часть задачи в расширенном режиме nnCron'а которая начинается от слова #( и до слова Action: я называю шапка задачи, а оставшаяся часть задачи до слова )# тело задачи.
3. Поэтому, читай Help, и если после этого так и не получится заставить делать nnCron то что ты хочешь, то спрашивай - подскажем, поможем, не забудь только рассказать что и как ты делал и что и как и с каким результатом происходило.
Автор: KOXAH
Дата сообщения: 06.11.2007 10:10
Читал русский хелп - аж голова дымить начала, а вот со скриптом задачи так и не разобрался. Подробнее о том что хочу сделать: есть 2 программы:

c:/temp/dir1/run.exe
c:/temp/dir2/run.exe

хочу реализовать их попеременную работу, т.е. nnCron запускает первую программу, через 15 минут ее закрывает, запускает вторую программу - через 15 минут ее закрывает и так по кругу. Вместе эти программы запускать нельзя - комп впадет в ступор.

В nnCron пробовал сделать следующее:

#( test
WatchProcStop: "run.exe"
Rule: PROC-EXIST: "run.exe" 0=
Action:
START-APPW: c:\temp\dir1\run.exe
)#

Не могу понять как указать продолжительность работы программы.
Автор: DJ makrus
Дата сообщения: 06.11.2007 11:43
KOXAH
Цитата:
Не могу понять как указать продолжительность работы программы.
Если программу надо закрывать именно nnCron'ом, то вместо START-APPW: c:\temp\dir1\run.exe надо использовать
Код: START-APP: c:\temp\dir1\run.exe
PAUSE: 900000
PROC-CLOSE: "run.exe"
Автор: KOXAH
Дата сообщения: 06.11.2007 12:00
Переименовать исполняемый файл можно, на работе программы это никак не скажется, например тогда:

c:/temp/dir1/run.exe
c:/temp/dir2/run2.exe

А вот закрывать ее нужно nnCron'ом, т.к. эта програмулина запускает свои дополнительные модули, и если в Диспетчере задач просто убить run2.exe, то модуль продолжает работать - и при запуске run.exe (из другой папки) получим ступор компа.

Автор: DJ makrus
Дата сообщения: 06.11.2007 12:43
KOXAH
1. Надо знать как именно выглядят в памяти (Task Manager'е) одна программа со своими модулями, и вторая программа со своими модулями? Их можно отличить по их имени в памяти?
2. Как программы реагируют на Alt+x, Alt+F4? (и на PROC-CLOSE:)
3. Убивать-то можно и модули..., знать бы как они в памяти обзываются.
Автор: KOXAH
Дата сообщения: 06.11.2007 13:33
1. В диспетчере задач программа выглядит как run.exe (или как я файл переименую - так он в памяти и видится, на работу программы имя файла никак не влияeт), модуль виден например как my_module.exe - его программа запускает при открытии. Имя модуля менять нельзя, иначе работать не будет. Соответственно в разных папках лежат 2 копии одной и той же программы, точнее run.exe - это оболочка управления модулем my_module.exe. Если запустить два процесса my_module.exe - зависание компа гарантированно, можно только поочередно.

2. На Alt+X программа не реагирует никак, по Alt+F4 оболочка run.exe сворачивается в трей, но сами run.exe и my_module.exe продолжают работать.

3. Модуль my_module.exe в памяти можно убивать - при этом ничего не теряется. Если выходить из run.exe, то my_module.exe тоже закроется (run.exe запускает его при своем запуске и выгружает при выходе). Если в диспетчере задач убить run.exe, то my_module.exe продолжает работать.
Автор: DJ makrus
Дата сообщения: 06.11.2007 14:08
KOXAH
Ну, т.е. я так понял все можно смело убивать?
Ну, тогда попробуй вот так:
Код:
#( my_module
Time: START-TIME
1 VALUE flag_run
Action:
BEGIN
KILL: "run.exe"
KILL: "my_module.exe"
PAUSE: 1000
flag_run
IF
START-APP: c:\temp\dir1\run.exe
0 TO flag_run
ELSE
START-APP: c:\temp\dir2\run.exe
1 TO flag_run
THEN
PAUSE: 900000
AGAIN
)#
Автор: KOXAH
Дата сообщения: 06.11.2007 14:57
Да, Вы поняли правильно, большое спасибо за помощь! Пойду протестирую скрипт в бою
Автор: Laroux
Дата сообщения: 09.11.2007 14:29
Чего-то не понимаю, однозначно...
Задача: надо, чтобы при открытии окна IE с заголовком "Трали-вали тру-ля-ля - Microsoft Internet Explorer" это окно закрывалось через, например, 3 секунды.

Что делаю: стандартно в вин-интерфейсе nnCron делаю добавить задачу. Выбираю "По событию". "При: создании окна", заголовок: "Трали-вали тру-ля-ля - Microsoft Internet Explorer". На вкладке "Действие": "Закрыть окно" -> Заголовок "Трали-вали тру-ля-ля - Microsoft Internet Explorer". Условий нет.
В "Дополнительно" получаю:
-------------------
WatchWinCreate: "Трали-вали тру-ля-ля - Microsoft Internet Explorer"
Action:
WIN-CLOSE: "Трали-вали тру-ля-ля - Microsoft Internet Explorer"
------------------

Теперь открываю эту страничку "Трали-вали тру-ля-ля".

Не работает. Что за ересь?

P.S. Про время вообще молчу (про 3 секунды) - тут уж не знаю, как сделать вообще...
Автор: cracklover
Дата сообщения: 09.11.2007 18:51
Laroux

Вот тут где-то собака порылась:
"Трали-вали тру-ля-ля - Microsoft Internet Explorer"

Неправильно ловишь класс окна.
Любой утилитой, определяющей название заголовка окна определи действительно точное название заголовка и попробуй с ним.

И ещё. Попробуй сделать подобное другой программой - AutoIt.
Вот, например, ка там выглядит скрипт выполнения подобной задачи:
WinWaitActive ( 'Dr.Web' )
Send("{ENTER}")
WinWait ( $Title, 'Вас приветствует' )
WinActivate ( $Title, 'Вас приветствует' )
WinWaitActive ( $Title, 'Вас приветствует' )
Send("{ENTER}")
WinWaitActive ( 'Внимание' )
;поставить галку "Да, на компьютере не установлено других антивирусных продуктов."
ControlClick ( 'Внимание', '', 'Button4' )
Send("{ENTER}")
и т.д.



Автор: DJ makrus
Дата сообщения: 10.11.2007 02:57
Laroux
Что бы тебе и остальным не мучаться с перечислением всех возможных галочек и их состояний, найди свою задачу в кронтабе, скопируй ее от символов #( до символов )# (включительно) и вставь ее в свой пост.
Попробуй так же использовать вместо WatchWinCreate: слово WatchWindow:, посмотри рекомендации в шапке топика по поводу AsLoggedUser, загляни в лог работы nnCron'а - есть там упоминание о твоей задачке...
Цитата:
P.S. Про время вообще молчу (про 3 секунды) - тут уж не знаю, как сделать вообще...
с этим просто: добавь строчку PAUSE: 3000 перед WIN-CLOSE:
Автор: Laroux
Дата сообщения: 12.11.2007 08:58

Цитата:
Неправильно ловишь класс окна.
Любой утилитой, определяющей название заголовка окна определи действительно точное название заголовка и попробуй с ним.
Понимаю.
Однако название окна смотрел уже WinSpy-ем - там оно так и описано. Может какие проблемы с кодировками??? Типа я крону пишу по-русски в каком-нить UTF-8, а надо в KOI-8R или т.п.

P.S. Кстати - WatchWindow помогло. Стал "кушать" русские имена окон... Спасибо...
Автор: AndreyTNT
Дата сообщения: 12.11.2007 09:34
Здравствуйте, можно ли с помощью сабжа, реализовать такую задачу, а именно :
Что бы удалялись все файлы с расширением *.doc и *.xls на всех “Локальных дисках”, именно локальных, т.к подключены еще сетевые диски и их трогать не нужно. Но что бы можно было задать папки ”исключения”т,е например в папке program files файлы не удалялись, и так далее(задавать исключения самому). Может кто сможет помочь, или все таки Visual Basic или Visual C++ нужен будет?
Автор: Kadomak
Дата сообщения: 12.11.2007 12:38
http://forum.ru-board.com/tools.cgi?action=maillist
Автор: Top10
Дата сообщения: 13.11.2007 19:39
Народ, помогите необходимо блокировать клаву и мышь в определенный промежуток времени и соответственно разблокировать. Например 15.11.07 18:30 заблокировать, 16.11.07 08:30 разблокировать. Или же при появлении определенного окна заблокировать мышь и клаву.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

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


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