AlikasS
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Код: \ File: CronScript.spf \ Author: AlikasS \ Date: 22.12.10 \ Modified: 2011 06 16 11 54 +1100 AlikasS, \ после выполнения кода с CronScript-EVAL-ON, выполняется слово CronScript-EVAL-OFF (выключение обработки %%) \ Words: <CronScript> </SCRIPT> CronScript-EVAL-OFF CronScript-EVAL-ON \ \ Usage: \ <CronScript> <команды крона> </SCRIPT> \ \ Settings: \ CronScript-EVAL-OFF / CronScript-EVAL-OFF - для включения/выключения обработки переменных nncron между знаками %% в тексте команд \ \ Description: \ 1. Позволяет писать код для исполнения его отдельным процессом крона по ключу -runfile прямо в тексте задачи \ Action: \ <CronScript> \ : main 1000 PAUSE MSG: "исполняем код" ; \ </SCRIPT> \ \ 2. CronScript-EVAL-ON - для включения возможности использоваться макро-переменные nnCron, \ окруженные с двух сторон знаками процента (%). \ \ 3. CronScript-EVAL-OFF - (по умолчанию) %% не обрабатываются. 0 [IF] \ this is a comment string Example: #( ~test-start-bat AsLoggedUser NoActive Action: <CronScript> : main MSG: "скрипт крона" ; </SCRIPT> )# [THEN] \ this is a comment string VECT <CronScript-exec> : cronscript-exec2 ( a u a1 u1 --) S" %GetCurrentThreadId ABS%_%GetTickCount%.FEX" EVAL-SUBST SCR-FNAME 2! SCR-FNAME 2@ R/W CREATE-FILE 0= IF >R R@ WRITE-FILE THROW R> CLOSE-FILE DROP StartIn: "%ModuleDirName%" S" %ModuleDirName%nnCron.exe -runfile" EVAL-SUBST S" " S+ S" %SCR-FNAME 2@%" S+ EVAL-SUBST StartScriptApp SCR-FNAME 2@ DELETE-FILE THROW ELSE 2DROP THEN ; : CronScript-EVAL-OFF ['] cronscript-exec2 TO <CronScript-exec> ; CronScript-EVAL-OFF : cronscript-exec3 ( a u a1 u1 --) S" %GetCurrentThreadId ABS%_%GetTickCount%.FEX" EVAL-SUBST SCR-FNAME 2! SCR-FNAME 2@ R/W CREATE-FILE 0= IF >R EVAL-SUBST R@ WRITE-FILE THROW R> CLOSE-FILE DROP StartIn: "%ModuleDirName%" S" %ModuleDirName%nnCron.exe -runfile" EVAL-SUBST S" " S+ S" %SCR-FNAME 2@%" S+ EVAL-SUBST StartScriptApp SCR-FNAME 2@ DELETE-FILE THROW ELSE 2DROP THEN CronScript-EVAL-OFF ; : CronScript-EVAL-ON ['] cronscript-exec3 TO <CronScript-exec> ; : <CronScript> ['] <CronScript-exec> S" </SCRIPT>" <script> ; IMMEDIATE \EOF актуально для WIN7 т.к. полностью загружает профиль пользователя при запуске задачи из под сервиса #( тестдля7 0 VALUE TRRR CREATE Str123 125 ALLOT ONLY_SYSTEM AsLoggedUser LoadProfile Action: 111 TO TRRR S" внешняя строка" Str123 PLACE CronScript-EVAL-ON \ включаем обработку %% <CronScript> VARIABLE tray_icon_id 0 VALUE TRRR CREATE Str123 125 ALLOT S" внутренняя строка" Str123 PLACE 666 TO TRRR : main S" nnCron: task started" 32512 0 LoadIconA ADD-TI tray_icon_id ! HINT: "%%TRRR%% - %TRRR%" 5000 PAUSE S" nnCron: task continued" 32515 0 LoadIconA tray_icon_id @ MODIFY-TI MSG: "%%Str123 COUNT%% - %Str123 COUNT%" tray_icon_id @ DEL-TI ; </SCRIPT> )# |
| Всего записей: 183 | Зарегистр. 30-11-2009 | Отправлено: 17:56 12-06-2011 | Исправлено: AlikasS, 14:47 20-06-2011 |
|