Глобальные, Локальные переменные

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

Глобальные, Локальные переменные

Postby _Pavelik » Fri, 29 Dec 2006, 10:00

Есть задача:
Code: Select all
<%
: rar S" d:\bin\progy\winrar\rar.exe a  -m5 -ag+DD.MM.YYYY_ -rr8 -y" ; \ строка параметров к rar.exe, а так же путь к нему
: nnbackup S" d:\bin\progy\nnbackup\nnbackup.exe" ; \ путь к nnbackup

CREATE  TEMPF 25 ALLOT \ каталог в который копируются базы, и откуда они архивируются WinRar'ом
CREATE   TEXT 16 ALLOT \ строковое значение которое добавляется к имени архива
CREATE SPISOK 256 ALLOT \ список папок из которых будет производиться архивирование, причем
CREATE SRCBASE 10 ALLOT \ ПАПКА в которой лежат бызы 1С
CREATE BACKUPBASE 10 ALLOT \ папка в которую осуществляется бэкап

\ Синтаксис BACKUP_DBF
\ S "1" S "2" S "3" S "4" S "5" BACKUP_DBF
   \ 1. копирование во временную папку d:\temp\base,
   \ 2. к именам архивов добавляется оканчание (1),
   \    то есть 12.08.06_loz(1).rar.
   \ 3. из папки c:\base происходит архивирование папок
   \ 4. TORGDOM,LATN,loz,1SBDB,PRBasic,ZPL2,USN
   \ 5. и все это копируется в папку для бэкапов
   \    C:\Backup

: BACKUP_DBF ( FPATH NUM NAMEBASE SPISOK BACKUPBASE -- )
BACKUPBASE PLACE \ Директория в которую происходит архивирование
SPISOK PLACE \ Список папок для архирования находящихся в каталоге %namebase%, через запятую
SRCBASE PLACE \ папка в которой лежат папки с базами
TEXT PLACE \ если значение этой переменной (1) или пустое, то архивируются тока dbf файлы, любое др. значение архивирует папку с базой целиком
TEMPF PLACE \ папка для временной копии баз


TEXT COUNT S" " COMPARE 0=
TEXT COUNT S" (1)" COMPARE 0=
OR
IF
   \ использую утилитку nnbackup для копирования папок указанных после параметра -dm в каталог FPATH
   \ причем копируются тока файлы совпадающие с маской файлов указанных после параметра -m
   \ архивирование базы торговли, ошибки при архивированиии записываюся
   \ в файл d:\scripts\winrar.log
   ShowMinimized NormalPriority
   START-APPW: %nnbackup% -i "%SRCBASE COUNT%" -o %TEMPF COUNT% copy -s -v -m *.dbf,1cv7.* -dm %SPISOK COUNT%
   \ далее обрабатываем список папок
RE-ALL: "%SPISOK COUNT%" "/(\w+)/i"
   ShowMinimized NormalPriority
   START-APPW: %rar% -ilog%winrar.log% "%BACKUPBASE COUNT%\%$1%%TEXT COUNT%" "%TEMPF COUNT%\%$1%"
   ExitCodeProc 0 =
   IF
   LOG: "%raport.log%" "%hh%:%mm% %DD%:%MM%:%YY% создан архив %DD%.%MM%.%YY%_%$1%%TEXT COUNT%.rar"
   ELSE
   LOG: "%raport.log%" "%hh%:%mm% %DD%:%MM%:%YY% с ошибкой создан архив %DD%.%MM%.%YY%_%$1%%TEXT COUNT%.rar !!! Код Ошибки %ExitCodeProc% подробности в winrar.log"
   THEN
;RE-ALL
   \ Удаляем временную копию
   DIR-DELETE: "%TEMPF COUNT%"
ELSE
RE-ALL: "%SPISOK COUNT%" "/(\w+)/i"
   START-APPW: %rar% -ilog%winrar.log% "%BACKUPBASE COUNT%\%$1%%TEXT COUNT%" "%SRCBASE COUNT%\%$1%"
   ExitCodeProc 0 =
   IF
   LOG: "%raport.log%" "%hh%:%mm% %DD%:%MM%:%YY% создан архив %DD%.%MM%.%YY%_%$1%%TEXT COUNT%.rar"
   ELSE
   LOG: "%raport.log%" "%hh%:%mm% %DD%:%MM%:%YY% с ошибкой создан архив %DD%.%MM%.%YY%_%$1%%TEXT COUNT%.rar !!! Код Ошибки %ExitCodeProc% подробности в wirar.log"
   THEN
;RE-ALL

THEN
;

как переписать код что бы использовоть не глобальные переменные:
Code: Select all
CREATE  TEMPF 25 ALLOT \ каталог в который копируются базы, и откуда они архивируются WinRar'ом
CREATE   TEXT 16 ALLOT \ строковое значение которое добавляется к имени архива
CREATE SPISOK 256 ALLOT \ список папок из которых будет производиться архивирование, причем
CREATE SRCBASE 10 ALLOT \ ПАПКА в которой лежат бызы 1С
CREATE BACKUPBASE 10 ALLOT \ папка в которую осуществляется бэкап

а локальные?
_Pavelik
 
Posts: 8
Joined: Sun, 05 Nov 2006, 14:09

Return to nnCron forum (Russian)

Who is online

Users browsing this forum: No registered users and 3 guests