Передача переменной из одного цикла в другой. Нужна помощь.

Обсуждение программ nnCron и nnCron LITE

Передача переменной из одного цикла в другой. Нужна помощь.

Postby Headcrab » Fri, 21 Feb 2014, 14:34

Всем привет!
Подскажите пожалуйста как можно реализовать передачу переменной (для примера %FOUND-FILENAME%) цикла FOR-FILES в следующий цикл (который внутри первого)

Пример:
Code: Select all
1#( leg_in
2AsLoggedUser
3Time: */15 8-20 * * * *
4NoActive
5Action:
6   FOR-FILES: "R:\01_spb\321p\IN\0z???_30.772"
7      DIR-CREATE: "R:\01_spb\321p\IN\temp"
8      START-APPW: %ArchDir%\7z.EXE e %FOUND-FULLPATH% -o"R:\01_spb\321p\IN\temp"
9         FOR-FILES: "R:\01_spb\321p\IN\temp\*.*"
10            FILE-MOVE: %FOUND-FULLPATH% "D:\destination\"
11            FILE-EXIST: "D:\destination\%FOUND-FILENAME%"
12            IF
13               DIR-DELETE: "R:\01_spb\321p\IN\temp"
14               DIR-CREATE: "R:\01_spb\321p\IN\%YYYY%\%MM%\%DD%"
15               FILE-MOVE: "%FOUND-FULLPATH%" "R:\01_spb\321p\IN\%YYYY%\%MM%\%DD%"
16            ELSE
17               DIR-DELETE: "R:\01_spb\321p\IN\temp"
18               ERR-MSG: "Входящий по 321-П не перемещён в Q:\windows\clean\REP"
19            THEN
20         ;FOR-FILES
21   ;FOR-FILES
22)#

Переменная %FOUND-FULLPATH% в строчке 15 должна браться из первого цикла.

Или если это как то по другому можно реализовать, пока не понимаю, до этого работал только с батниками.
Headcrab
 
Posts: 19
Joined: Fri, 21 Feb 2014, 14:05

Re: Передача переменной из одного цикла в другой. Нужна помо

Postby VoidVolker » Fri, 21 Feb 2014, 21:20

Code: Select all
#( leg_in
AsLoggedUser
Time: */15 8-20 * * * *
NoActive
CREATE temp 256 ALLOT
Action:
    FOR-FILES: "R:\01_spb\321p\IN\0z???_30.772"
        DIR-CREATE: "R:\01_spb\321p\IN\temp"
        START-APPW: %ArchDir%\7z.EXE e %FOUND-FULLPATH% -o"R:\01_spb\321p\IN\temp"
        FOUND-FULLPATH temp PLACE
        FOR-FILES: "R:\01_spb\321p\IN\temp\*.*"
            FILE-MOVE: %FOUND-FULLPATH% "D:\destination\"
            FILE-EXIST: "D:\destination\%FOUND-FILENAME%"
            IF
                DIR-DELETE: "R:\01_spb\321p\IN\temp"
                DIR-CREATE: "R:\01_spb\321p\IN\%YYYY%\%MM%\%DD%"
                FILE-MOVE: "%temp COUNT%" "R:\01_spb\321p\IN\%YYYY%\%MM%\%DD%"
            ELSE
                DIR-DELETE: "R:\01_spb\321p\IN\temp"
                ERR-MSG: "Входящий по 321-П не перемещён в Q:\windows\clean\REP"
            THEN
        ;FOR-FILES
    ;FOR-FILES
)#
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Передача переменной из одного цикла в другой. Нужна помо

Postby Headcrab » Mon, 24 Feb 2014, 10:50

Всё таки через массив.
Я ранее пробовал через него, но у меня не получилось из за того что помещал в него %FOUND-FULLPATH% вместо FOUND-FULLPATH (как в вашем примере).
Спасибо вам, всё работает, вопрос закрыт!
Headcrab
 
Posts: 19
Joined: Fri, 21 Feb 2014, 14:05

Re: Передача переменной из одного цикла в другой. Нужна помо

Postby VoidVolker » Mon, 24 Feb 2014, 18:28

Headcrab wrote:%FOUND-FULLPATH%

Знаки процента - просто способ выделения кода в подстроках для его дальнейшей интерпретации.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56


Return to nnCron forum (Russian)

Who is online

Users browsing this forum: No registered users and 3 guests

cron