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

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

Автор: IDentify
Дата сообщения: 11.07.2007 11:40

Цитата:
IDentify
покажи задачу которая не работает, что в логе.

Проблема даже не в кроне была, devcon запускался как надо, но параметр не обрабатывался.
Сейчас выдалось свободное время, поигрался, с параметром в кавычках всё заработало:

Код: C:\Program Files\devcon\devcon.exe disable "@PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10\4&2E98101C&0&08F0"
Автор: DJ makrus
Дата сообщения: 11.07.2007 13:03
daMIR
1.
Цитата:
...нужно еще и коннект порвать, что он НЕН делает...
ты хочешь сказать что nnCron не может разорвать соединение? Как ты его разрываешь?
2. самому использовать onliner'ы не приходилось, но как я понял из Help'а это совсем не тоже самое что запуск "как приложение" и "сервисом", попробуй
Автор: kovik65
Дата сообщения: 11.07.2007 16:56
Общая задача следующая:
Необходимо прочитать содержимое файла и сравнить его содержимое (строку) с эталонной строкой.
Но nncron почему-то не хочет признавать одинаковые строки одинаковыми.
Не работает даже в следующем примере:

#( test_COMPARE
NoActive

CREATE str1 256 ALLOT
CREATE str2 256 ALLOT

Action:

PAD 26 S" E:\program\Miranda\status.txt" FREAD str1 PLACE
PAD 26 S" E:\program\Miranda\status.txt" FREAD str2 PLACE

S" str1" S" str2" COMPARE 0=
IF MSG: "Strings are the same"
ELSE MSG: "Strings are different"
THEN
)#

Файл status.txt содержит слово "проба".

Результат работы скрипта - строки разные. И это строки из одного файла!
Если не читать строки из файла, а просто записать строки как в примере

#( test_COMPARE
NoActive

Action:

S" проба" S" проба" COMPARE 0=
IF MSG: "Strings are the same"
ELSE MSG: "Strings are different"
THEN
)#

То все нормально - строки одинаковые.

Где копать? Почему не работает первый скрипт?
Автор: IDentify
Дата сообщения: 11.07.2007 20:19
Можно ли каким нибудь образом сделать, что бы после обработки INTERCEPT-SHUTDOWN продолжался тот процесс который был начат.
Поясню. После INTERCEPT-SHUTDOWN предпологается использовать команды CONTINUE-SHUTDOWN, FORCE-POWEROFF, FORCE-SHUTDOWN или FORCE-REBOOT.
Т.е. если прописать CONTINUE-SHUTDOWN не получится выполнить ребут и т.д.

Можно как нибудь обойти это дело, чтобы и пауза выдерживалась и процесс продолжался именно тот который был начат?
Автор: Stygis
Дата сообщения: 11.07.2007 21:16
IDentify
А что, FORCE-REBOOT - это не ребут?
Автор: IDentify
Дата сообщения: 11.07.2007 21:46
Stygis
Тогда при выключении компьютера вместо него будет происходить ребут соответственно..
Автор: lucky_Luk
Дата сообщения: 11.07.2007 23:39
IDentify

Цитата:
У тебя как с этим обстоят дела?


Цитата:
Как ни пытался, nncron ни в какую не хочет выполнять эту команду сам. Прописывал и с ковычками и без, и в system32 кидал, пытаясь запускать без путей devcon ...

У меня команда для devcon прописана прямо в задаче, путь с пробелами и т.д., все работает, XP SP2, правда модем подключен к системе через USB, но если у тебя через батник работает, значит дело не в этом.
Попробуй добавить StartIn: (хотя у меня и без него работает).

DJ makrus

Цитата:
а чем HOST-EXIST: не устраивает?

Спасибо, я про него просто забыл , буду пробовать.

Получилось. Теперь нужно сделать цикл, который будет работать, пока не выполнится условие с HOST-EXIST:, но чтобы цикл повторялся не более допустим 10 раз (т.е. попробовать подключиться 10 раз и если не удалось, то забить ).
В DO...LOOP не получается загнать HOST-EXIST:, а BEGIN...UNTIL фигачит до посинения.
Автор: Stygis
Дата сообщения: 12.07.2007 05:49
lucky_Luk

Цитата:
В DO...LOOP не получается загнать HOST-EXIST:

Как именно не получается?

Цитата:
BEGIN...UNTIL фигачит до посинения

Как это?

Что-то типа такого, например, не работает?

Код: BEGIN
0 I !
blah-blah-blah
I @ 1+ DUP I !
HOST-EXIST:
10 =
OR
UNTIL
Автор: AnCharor
Дата сообщения: 12.07.2007 06:05
DJ makrus
Надо подумать...
Автор: DJ makrus
Дата сообщения: 12.07.2007 16:28
kovik65
Цитата:
...Результат работы скрипта - строки разные. И это строки из одного файла!...

потому что строка "str1" отличается от строки "str2" последним символом, ты проценты забыл и еще одно слово конвертирующее строку в au-строку.

IDentify
я правильно понял что ты хочешь что бы nnCron определил что он прерывает выключение или перезагрузку и продолжал то что прервал?
Насколько мне известо, то он не может это определить.
Частичное решение проблемы (у меня так) я сам решаю что мне делать перезагружаться или выключать комп (а не программы), и в задаче на перезагрузку компа выбрасывается флаг, его видит задача которая прерывает любое выключение\перезагрузку и продолжает именно перезагрузку. Если флага нет, то процесс завершения работы винды остановаливается.
Автор: kovik65
Дата сообщения: 12.07.2007 19:09
DJ makrus

Цитата:
потому что строка "str1" отличается от строки "str2" последним символом, ты проценты забыл и еще одно слово конвертирующее строку в au-строку.

С процентами - забыл. Спасибо.

А вот что такое
DJ makrus

Цитата:
и еще одно слово конвертирующее строку в au-строку.

не нашел в help. Может вкратце, что это такое, а лучше ссылку на где прочитать.

А проблему решил (по подсказке на форуме nncron ) следующим способом

Цитата:

PAD 26 S" E:\program\1status.txt" FREAD
PAD 26 S" E:\program\2status.txt" FREAD
COMPARE 0=
IF .......
ELSE .....
THEN




Автор: Stygis
Дата сообщения: 12.07.2007 19:41
kovik65

Цитата:
а лучше ссылку на где прочитать

Плохо искал
Помощь - Доп. инфа - неотложная помощь - Какие типы строк используются в SP-Forth?

ЗЫ. Пользуйтесь поиском по файлу справки или по сайту!!!
Автор: Petrik Pyatochkin
Дата сообщения: 12.07.2007 20:59
Скажите а можно сделать так чтобы nnCron отправлял буфер обмена какому-нибудь приложению? Например я скопировал что-то в браузере и хочу отправить в Word.
Автор: IDentify
Дата сообщения: 13.07.2007 08:16
DJ makrus

Цитата:
...ты хочешь что бы nnCron определил что он прерывает выключение или перезагрузку и продолжал то что прервал?

Ты правильно меня понял.
Суть в том чтобы перед выключением/перезагрузкой выдерживалась пауза для выполнения задачи. И соответственно после выполнения задачи, продолжалась та операция которая была приостановлена.

Цитата:
...я сам решаю что мне делать перезагружаться или выключать комп (а не программы)

Я тоже сам решаю что мне делать, перезагружаю комп тоже сам (а не программы). Руками.

Цитата:
и в задаче на перезагрузку компа выбрасывается флаг, его видит задача которая прерывает любое выключение\перезагрузку и продолжает именно перезагрузку. Если флага нет, то процесс завершения работы винды остановаливается.

Можно поподробней насчёт этого флага. Лучше с примером.

Добавлено:
Petrik Pyatochkin

Попробуй средствами команды:

Цитата:
WatchClipboard: "text_pattern"
Срабатывает если содержимое буфера обмена подпадает под указанную маску.

В хелпе есть примеры.
Автор: IDentify
Дата сообщения: 13.07.2007 15:06
Надо бы в шапку...

Цитата:
Самостоятельное написание кода мелодий, для воспроизведения через спикер:
Редактор мелодий для beeper'a под nnCron от Svarga
Автор: Petrik Pyatochkin
Дата сообщения: 14.07.2007 12:03
IDentify

Цитата:
Попробуй средствами команды:

Код: Цитата:WatchClipboard: "text_pattern"

Срабатывает если содержимое буфера обмена подпадает под указанную маску.
Автор: Stygis
Дата сообщения: 14.07.2007 18:31
Petrik Pyatochkin
%CLIPBOARD% тебе поможет.
Автор: Petrik Pyatochkin
Дата сообщения: 14.07.2007 19:39
Stygis

Код:
Цитата:
%CLIPBOARD% тебе поможет.

%CLIPBOARD% - текущее содержимое буфера обмена
Автор: Gorrr
Дата сообщения: 16.07.2007 03:32
(удалено)
Автор: lucky_Luk
Дата сообщения: 16.07.2007 18:53
Stygis

Цитата:
Как это?

Вот так , пока не получится подключится (т.е. не будет истинным HOST-EXIST), будет повторять цикл, наверно оно на это и расчитано. Фиг с ним, меня пока это устраивает, но вот если у прова что-то отвалится и nnCron будет всю ночь коннектиться...

Цитата:

Что-то типа такого, например, не работает?

Код:
BEGIN
0 I !
blah-blah-blah
I @ 1+ DUP I !
HOST-EXIST:
10 =
OR
UNTIL

Попробую как-нибудь, спасибо.
Интересно как WinXP определяет, что подключение к Инету состоялось?

Как заставить nnCron выключать в WinXP запуск экранной заставки (т.е. чтобы во время выполнения задачи заставка не запускалась)?
Автор: Stygis
Дата сообщения: 16.07.2007 18:59
lucky_Luk

Цитата:
Как заставить nnCron выключать в WinXP запуск экранной заставки

Ну уж это.... Искать лень, да?

Код: SCREENSAVER-ON
SCREENSAVER-OFF
Автор: lucky_Luk
Дата сообщения: 16.07.2007 23:36
Stygis

Цитата:
Ну уж это.... Искать лень, да?

Спасибо.
Я и не знал что у сабжа встроенное слово для этого есть. А лень, она двигатель прогресса .

Цитата:
Можно посмотреть в MSDN, там вроде было.

MSDN - база знаний Майкрософт?
Автор: Stygis
Дата сообщения: 17.07.2007 07:12
lucky_Luk

Цитата:
MSDN - база знаний Майкрософт?

Да.
Автор: lucky_Luk
Дата сообщения: 17.07.2007 18:48
Stygis

Цитата:
SCREENSAVER-ON
SCREENSAVER-OFF

Эти слова соответственно запускают и останавливают скринсейвер, если он выполняется. А мне надо, чтобы скринсейвер вообще не запускался во время выполнения задачи. Как такое сделать?
Автор: Stygis
Дата сообщения: 17.07.2007 21:29
lucky_Luk
Пардон, заработался.
Можно подергивать мышку Где-то на форуме nnCron'а что-то про это вроде было.
Автор: lucky_Luk
Дата сообщения: 17.07.2007 21:49
Stygis

Цитата:
Можно подергивать мышку

Попробую в реестре править ключ, отвечающий за выбор заставки в Свойства: Экран - Заставка в WinXP SP2.
Автор: russjura
Дата сообщения: 22.07.2007 00:52
Шикарная прога, big сенк огромный.
Автор: lucky_Luk
Дата сообщения: 24.07.2007 22:42
Как объединить два RULE: ? Нужно чтобы задача запускалась, если не существует двух (или одного из двух) процессов.
Автор: Stygis
Дата сообщения: 25.07.2007 06:33
lucky_Luk

Код: RULE: PROC-EXIST: ... PROC-EXIST: ... OR
Автор: nickddd
Дата сообщения: 25.07.2007 10:31
Здравствуйте, уважаемые знатоки
Написал скрипт, который отслеживает появление файлов в папке ABC копирует их в папку DEF и удаляет в ABC. При ошибке файл копируется в папку BAD и удаляется из ABC. Ведется лог.
Проблема в том, что скрипт генерит очень много ошибок 32 (ошибка совместного доступа).
Похоже, что скрипт начинает перетаскивать файлы еще до того, как они падают в ABC целиком. Если в папку ABC бросить сразу много файлов, то, бывает, что файл копируется сразу и в DEF и в BAD.
Помогите разобраться.
Спасибо.

[more=скрипт...]
#( PDF2CTP
WatchDir: "D:\abc"
    WATCH-CHANGE-LAST-WRITE
Action:
        FOR-FILES: "D:\abc\*.pdf"
            FILE-COPY: "%FOUND-FULLPATH%" "D:\def"
                GetLastError
                IF
                    FILE-APPEND: "D:\def\log.txt" "- %DD%.%MM%.%YY% %hh%:%mm%:%ss% > %FOUND-FILENAME% > error no.%GetLastError%.%crlf%"
                    FILE-COPY: "%FOUND-FULLPATH%" "D:\bad"
                    FILE-DELETE: "%FOUND-FULLPATH%"
                ELSE
                    FILE-APPEND: "D:\def\log.txt" "+ %DD%.%MM%.%YY% %hh%:%mm%:%ss% > %FOUND-FILENAME% copied successfully.%crlf%"
                    FILE-DELETE: "%FOUND-FULLPATH%"
                THEN
        ;FOR-FILES
)#
[/more]

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

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


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