From 69aa334f815addbc78ce0d05e5293de321843cf0 Mon Sep 17 00:00:00 2001 From: Ilya Bushin Date: Fri, 15 Nov 2024 10:11:31 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D1=81=D0=BA=D1=80=D0=B8=D0=BF=D1=82=20=D1=81=D0=B1=D0=BE=D1=80?= =?UTF-8?q?=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/ext2cfe.cmd | 468 ++++++++++++++++++++++++++++---------------- 1 file changed, 301 insertions(+), 167 deletions(-) diff --git a/scripts/ext2cfe.cmd b/scripts/ext2cfe.cmd index 9c6bdd1..a3c75e6 100644 --- a/scripts/ext2cfe.cmd +++ b/scripts/ext2cfe.cmd @@ -1,167 +1,301 @@ -@rem ---------------------------------------------------------- -@rem This Source Code Form is subject to the terms of the -@rem Mozilla Public License, v.2.0. If a copy of the MPL -@rem was not distributed with this file, You can obtain one -@rem at http://mozilla.org/MPL/2.0/. -@rem ---------------------------------------------------------- -@rem Codebase: https://github.com/ArKuznetsov/1CFilesConverter/ -@rem ---------------------------------------------------------- - -@ECHO OFF - -SETLOCAL - -set CONVERT_VERSION=UNKNOWN -IF exist "..\VERSION" FOR /F "usebackq tokens=* delims=" %%i IN ("..\VERSION") DO set CONVERT_VERSION=%%i -echo 1C files converter v.%CONVERT_VERSION% -echo === -echo Convert 1C configuration extension to binary format ^(*.cfe^) - -set ERROR_CODE=0 - -IF not defined V8_VERSION set V8_VERSION=8.3.20.2290 -IF not defined V8_TEMP set V8_TEMP=%TEMP%\1c - -IF not "%V8_CONVERT_TOOL%" equ "designer" IF not "%V8_CONVERT_TOOL%" equ "ibcmd" set V8_CONVERT_TOOL=designer -set V8_TOOL="C:\Program Files\1cv8\%V8_VERSION%\bin\1cv8.exe" -set IBCMD_TOOL="C:\Program Files\1cv8\%V8_VERSION%\bin\ibcmd.exe" -IF not defined V8_RING_TOOL ( - FOR /F "usebackq tokens=1 delims=" %%i IN (`where ring`) DO ( - set V8_RING_TOOL="%%i" - ) -) - -set LOCAL_TEMP=%V8_TEMP%\%~n0 -set IB_PATH=%LOCAL_TEMP%\tmp_db -set XML_PATH=%LOCAL_TEMP%\tmp_xml -set WS_PATH=%LOCAL_TEMP%\edt_ws - -set ARG=%1 -IF defined ARG set ARG=%ARG:"=% -IF "%ARG%" neq "" set V8_SRC_PATH=%ARG% -set ARG=%2 -IF defined ARG set ARG=%ARG:"=% -IF "%ARG%" neq "" set V8_DST_PATH=%ARG% -set V8_DST_FOLDER=%~dp2 -set V8_DST_FOLDER=%V8_DST_FOLDER:~0,-1% -set ARG=%3 -IF defined ARG set ARG=%ARG:"=% -IF "%ARG%" neq "" set V8_EXT_NAME=%ARG% -set ARG=%4 -IF defined ARG set ARG=%ARG:"=% -IF "%ARG%" neq "" set V8_BASE_CONFIG=%ARG% - -IF not defined V8_SRC_PATH ( - echo [ERROR] Missed parameter 1 - "path to folder contains 1C extension in 1C:Designer XML format or EDT project" - set ERROR_CODE=1 -) ELSE ( - IF not exist "%V8_SRC_PATH%" ( - echo [ERROR] Path "%V8_SRC_PATH%" doesn't exist ^(parameter 1^). - set ERROR_CODE=1 - ) -) -IF not defined V8_DST_PATH ( - echo [ERROR] Missed parameter 2 - "path to 1C configuration extension file (*.cfe)" - set ERROR_CODE=1 -) -IF not defined V8_EXT_NAME ( - echo [ERROR] Missed parameter 3 - "configuration extension name" - set ERROR_CODE=1 -) -IF not exist "%V8_BASE_CONFIG%" ( - echo [INFO] Path "%V8_BASE_CONFIG%" doesn't exist ^(parameter 4^), empty infobase will be used. - set V8_BASE_CONFIG= -) -IF %ERROR_CODE% neq 0 ( - echo === - echo [ERROR] Input parameters error. Expected: - echo %%1 - path to folder contains 1C extension in 1C:Designer XML format or EDT project - echo %%2 - path to 1C configuration extension file ^(*.cfe^) - echo %%3 - configuration extension name - echo %%4 - ^(optional^) path to 1C configuration ^(binary ^(*.cf^), 1C:Designer XML format or 1C:EDT project^) - echo or folder contains 1C infobase used for convertion - echo. - exit /b %ERROR_CODE% -) - -echo [INFO] Clear temporary files... -IF exist "%LOCAL_TEMP%" rd /S /Q "%LOCAL_TEMP%" -md "%LOCAL_TEMP%" -IF not exist "%V8_DST_FOLDER%" md "%V8_DST_FOLDER%" - -echo [INFO] Set infobase for export data processor/report... - -set V8_BASE_CONFIG_DESCRIPTION=configuration from "%V8_BASE_CONFIG%" - -IF "%V8_BASE_CONFIG%" equ "" ( - md "%IB_PATH%" - echo [INFO] Creating infobase "%IB_PATH%"... - set V8_BASE_CONFIG_DESCRIPTION=empty configuration - %V8_TOOL% CREATEINFOBASE File=%IB_PATH%; /DisableStartupDialogs - goto export -) -IF exist "%V8_BASE_CONFIG%\1cv8.1cd" ( - echo [INFO] Basic config source type: Infobase - set V8_BASE_CONFIG_DESCRIPTION=existed configuration - set IB_PATH=%V8_BASE_CONFIG% - goto export -) -md "%IB_PATH%" -call %~dp0conf2ib.cmd "%V8_BASE_CONFIG%" "%IB_PATH%" -IF ERRORLEVEL 0 goto export - -echo [ERROR] Error cheking type of basic configuration "%V8_BASE_CONFIG%"! -echo Infobase, configuration file ^(*.cf^), 1C:Designer XML, 1C:EDT project or no configuration expected. -exit /b 1 - -:export - -echo [INFO] Checking 1C extension source type... - -IF exist "%V8_SRC_PATH%\DT-INF\" ( - IF exist "%V8_SRC_PATH%\src\Configuration\Configuration.mdo" ( - FOR /F "delims=" %%t IN ('findstr /r /i "" "%V8_SRC_PATH%\src\Configuration\Configuration.mdo"') DO ( - echo [INFO] Source type: 1C:EDT project - md "%XML_PATH%" - md "%WS_PATH%" - goto export_edt - ) - ) -) -IF exist "%V8_SRC_PATH%\Configuration.xml" ( - FOR /F "delims=" %%t IN ('findstr /r /i "" "%V8_SRC_PATH%\Configuration.xml"') DO ( - echo [INFO] Source type: 1C:Designer XML files - set XML_PATH=%V8_SRC_PATH% - goto export_xml - ) -) - -echo [ERROR] Wrong path "%V8_SRC_PATH%"! -echo Folder containing configuration extension in 1C:Designer XML format or 1C:EDT project expected. -exit /b 1 - -:export_edt - -echo [INFO] Export configuration extension from 1C:EDT format "%V8_SRC_PATH%" to 1C:Designer XML format "%XML_PATH%"... -call %V8_RING_TOOL% edt workspace export --project "%V8_SRC_PATH%" --configuration-files "%XML_PATH%" --workspace-location "%WS_PATH%" - -:export_xml - -echo [INFO] Loading configuration extension from XML-files "%XML_PATH%" to infobase "%IB_PATH%"... -IF "%V8_CONVERT_TOOL%" equ "designer" ( - %V8_TOOL% DESIGNER /IBConnectionString File=%IB_PATH%; /DisableStartupDialogs /LoadConfigFromFiles %XML_PATH% -Extension %V8_EXT_NAME% -) ELSE ( - %IBCMD_TOOL% infobase config import --db-path="%IB_PATH%" --extension=%V8_EXT_NAME% "%XML_PATH%" -) - -:export_ib - -echo [INFO] Export configuration extension from infobase "%IB_PATH%" configuration to "%V8_DST_PATH%"... -IF "%V8_CONVERT_TOOL%" equ "designer" ( - %V8_TOOL% DESIGNER /IBConnectionString File=%IB_PATH%; /DisableStartupDialogs /DumpCfg %V8_DST_PATH% -Extension %V8_EXT_NAME% -) ELSE ( - %IBCMD_TOOL% infobase config save --db-path="%IB_PATH%" --extension=%V8_EXT_NAME% "%V8_DST_PATH%" -) - -echo [INFO] Clear temporary files... -IF exist "%LOCAL_TEMP%" rd /S /Q "%LOCAL_TEMP%" +@rem ---------------------------------------------------------- +@rem This Source Code Form is subject to the terms of the +@rem Mozilla Public License, v.2.0. If a copy of the MPL +@rem was not distributed with this file, You can obtain one +@rem at http://mozilla.org/MPL/2.0/. +@rem ---------------------------------------------------------- +@rem Codebase: https://github.com/ArKuznetsov/1CFilesConverter/ +@rem ---------------------------------------------------------- + +@ECHO OFF + +SETLOCAL ENABLEDELAYEDEXPANSION + +IF not defined V8_ENCODING set V8_ENCODING=65001 +chcp %V8_ENCODING% > nul + +set CONVERT_VERSION=UNKNOWN +IF exist "%~dp0..\VERSION" FOR /F "usebackq tokens=* delims=" %%i IN ("%~dp0..\VERSION") DO set CONVERT_VERSION=%%i +echo 1C files converter v.%CONVERT_VERSION% +echo ====== +echo [INFO] Convert 1C configuration extension to binary format ^(*.cfe^) + +set ERROR_CODE=0 + +IF exist "%cd%\.env" IF "%V8_SKIP_ENV%" neq "1" ( + FOR /F "usebackq tokens=*" %%a in ("%cd%\.env") DO ( + FOR /F "tokens=1* delims==" %%b IN ("%%a") DO ( + IF not defined %%b set "%%b=%%c" + ) + ) +) + +IF not defined V8_VERSION set V8_VERSION=8.3.23.2040 +IF not defined V8_TEMP set V8_TEMP=%TEMP%\1c + +echo [INFO] Using 1C:Enterprise, version %V8_VERSION% +echo [INFO] Using temporary folder "%V8_TEMP%" + +IF not "%V8_CONVERT_TOOL%" equ "designer" IF not "%V8_CONVERT_TOOL%" equ "ibcmd" set V8_CONVERT_TOOL=designer +IF not defined V8_TOOL set V8_TOOL="%PROGRAMW6432%\1cv8\%V8_VERSION%\bin\1cv8.exe" +IF "%V8_CONVERT_TOOL%" equ "designer" IF not exist %V8_TOOL% ( + echo Could not find 1C:Designer with path %V8_TOOL% + set ERROR_CODE=1 + goto finally +) +IF not defined IBCMD_TOOL set IBCMD_TOOL="%PROGRAMW6432%\1cv8\%V8_VERSION%\bin\ibcmd.exe" +IF "%V8_CONVERT_TOOL%" equ "ibcmd" IF not exist %IBCMD_TOOL% ( + echo Could not find ibcmd tool with path %IBCMD_TOOL% + set ERROR_CODE=1 + goto finally +) + +echo [INFO] Start conversion using "%V8_CONVERT_TOOL%" + +set LOCAL_TEMP=%V8_TEMP%\%~n0 +if not defined IBCMD_DATA set IBCMD_DATA=%V8_TEMP%\ibcmd_data +set IB_PATH=%LOCAL_TEMP%\tmp_db +set XML_PATH=%LOCAL_TEMP%\tmp_xml +set WS_PATH=%LOCAL_TEMP%\edt_ws + +set ARG=%1 +IF defined ARG set ARG=%ARG:"=% +IF "%ARG%" neq "" set V8_SRC_PATH=%ARG% +set ARG=%2 +IF defined ARG set ARG=%ARG:"=% +IF "%ARG%" neq "" set V8_DST_PATH=%ARG% +set V8_DST_FOLDER=%~dp2 +set V8_DST_FOLDER=%V8_DST_FOLDER:~0,-1% +set ARG=%3 +IF defined ARG set ARG=%ARG:"=% +IF "%ARG%" neq "" set V8_EXT_NAME=%ARG% + +IF not defined V8_SRC_PATH ( + echo [ERROR] Missed parameter 1 - "infobase, path to folder contains 1C extension in 1C:Designer XML format or EDT project" + set ERROR_CODE=1 +) +IF not defined V8_DST_PATH ( + echo [ERROR] Missed parameter 2 - "path to 1C configuration extension file (*.cfe)" + set ERROR_CODE=1 +) +IF not defined V8_EXT_NAME ( + echo [ERROR] Missed parameter 3 - "configuration extension name" + set ERROR_CODE=1 +) +IF %ERROR_CODE% neq 0 ( + echo ====== + echo [ERROR] Input parameters error. Expected: + echo %%1 - infobase, path to folder contains 1C extension in 1C:Designer XML format or EDT project + echo %%2 - path to 1C configuration extension file ^(*.cfe^) + echo %%3 - configuration extension name + echo. + goto finally +) + +echo [INFO] Clear temporary files... +IF exist "%LOCAL_TEMP%" rd /S /Q "%LOCAL_TEMP%" +md "%LOCAL_TEMP%" +IF not exist "%V8_DST_FOLDER%" md "%V8_DST_FOLDER%" + +echo [INFO] Checking 1C extension source type... + +IF exist "%V8_SRC_PATH%\DT-INF\" ( + IF exist "%V8_SRC_PATH%\src\Configuration\Configuration.mdo" ( + FOR /F "delims=" %%t IN ('find /i "" "%V8_SRC_PATH%\src\Configuration\Configuration.mdo"') DO ( + echo [INFO] Source type: 1C:EDT project + md "%XML_PATH%" + md "%WS_PATH%" + set V8_SRC_TYPE=edt + goto base_ib + ) + ) +) +IF exist "%V8_SRC_PATH%\Configuration.xml" ( + FOR /F "delims=" %%t IN ('find /i "" "%V8_SRC_PATH%\Configuration.xml"') DO ( + echo [INFO] Source type: 1C:Designer XML files + set XML_PATH=%V8_SRC_PATH% + set V8_SRC_TYPE=xml + goto base_ib + ) +) +set V8_SRC_TYPE=ib +IF /i "%V8_SRC_PATH:~0,2%" equ "/F" ( + set IB_PATH=%V8_SRC_PATH:~2% + echo [INFO] Basic config type: File infobase ^(!IB_PATH!^) + set V8_BASE_IB_CONNECTION=File="!IB_PATH!"; + goto export_ib +) +IF /i "%V8_SRC_PATH:~0,2%" equ "/S" ( + set IB_PATH=%V8_SRC_PATH:~2% + FOR /F "tokens=1,2 delims=\" %%a IN ("!IB_PATH!") DO ( + set V8_BASE_IB_SERVER=%%a + set V8_BASE_IB_NAME=%%b + ) + set IB_PATH=!V8_BASE_IB_SERVER!\!V8_BASE_IB_NAME! + echo [INFO] Basic config type: Server infobase ^(!V8_BASE_IB_SERVER!\!V8_BASE_IB_NAME!^) + set V8_BASE_IB_CONNECTION=Srvr="!V8_BASE_IB_SERVER!";Ref="!V8_BASE_IB_NAME!"; + IF not defined V8_DB_SRV_DBMS set V8_DB_SRV_DBMS=MSSQLServer + goto export_ib +) +IF exist "%V8_SRC_PATH%\1cv8.1cd" ( + set IB_PATH=%V8_SRC_PATH% + echo [INFO] Basic config type: File infobase ^(!V8_SRC_PATH!^) + set V8_BASE_IB_CONNECTION=File="!IB_PATH!"; + goto export_ib +) + +echo [ERROR] Wrong path "%V8_SRC_PATH%"! +echo Infobase or folder containing configuration extension in 1C:Designer XML format or 1C:EDT project expected. +set ERROR_CODE=1 +goto finally + +:base_ib + +echo [INFO] Set basic infobase for export configuration extension... + +IF "%V8_BASE_IB%" equ "" ( + md "%IB_PATH%" + echo [INFO] Using temporary file infobase "%IB_PATH%"... + set V8_BASE_IB_CONNECTION=File="%IB_PATH%"; + set V8_DESIGNER_LOG=%LOCAL_TEMP%\v8_designer_output.log + %V8_TOOL% CREATEINFOBASE !V8_BASE_IB_CONNECTION! /DisableStartupDialogs /Out "!V8_DESIGNER_LOG!" + FOR /F "tokens=* delims=" %%i IN (!V8_DESIGNER_LOG!) DO IF "%%i" neq "" echo [WARN] %%i + goto prepare_ib +) +IF /i "%V8_BASE_IB:~0,2%" equ "/F" ( + set IB_PATH=%V8_BASE_IB:~2% + echo [INFO] Basic infobase type: File infobase ^(!IB_PATH!^) + set V8_BASE_IB_CONNECTION=File="!IB_PATH!"; + goto prepare_ib +) +IF /i "%V8_BASE_IB:~0,2%" equ "/S" ( + set IB_PATH=%V8_BASE_IB:~2% + FOR /F "tokens=1,2 delims=\" %%a IN ("!IB_PATH!") DO ( + set V8_BASE_IB_SERVER=%%a + set V8_BASE_IB_NAME=%%b + ) + set IB_PATH=!V8_BASE_IB_SERVER!\!V8_BASE_IB_NAME! + echo [INFO] Basic infobase type: Server infobase ^(!V8_BASE_IB_SERVER!\!V8_BASE_IB_NAME!^) + set V8_BASE_IB_CONNECTION=Srvr="!V8_BASE_IB_SERVER!";Ref="!V8_BASE_IB_NAME!"; + IF not defined V8_DB_SRV_DBMS set V8_DB_SRV_DBMS=MSSQLServer + goto prepare_ib +) +IF exist "%V8_BASE_IB%\1cv8.1cd" ( + set IB_PATH=%V8_BASE_IB% + echo [INFO] Basic infobase type: File infobase ^(!V8_SRC_PATH!^) + set V8_BASE_IB_CONNECTION=File="!IB_PATH!"; + goto prepare_ib +) + +:prepare_ib + +IF defined V8_BASE_IB ( + set V8_BASE_IB=%V8_BASE_IB:"=% +) ELSE ( + echo [INFO] Environment variable "V8_BASE_IB" is not defined, temporary file infobase will be used. + set V8_BASE_IB= +) +IF defined V8_BASE_CONFIG ( + set V8_BASE_CONFIG=%V8_BASE_CONFIG:"=% +) ELSE ( + echo [INFO] Environment variable "V8_BASE_CONFIG" is not defined, empty configuration will be used. + goto export +) + +IF not exist "%IB_PATH%" md "%IB_PATH%" +call %~dp0conf2ib.cmd "%V8_BASE_CONFIG%" "%IB_PATH%" +IF ERRORLEVEL 0 goto export + +echo [ERROR] Error cheking type of basic configuration "%V8_BASE_CONFIG%"! +echo File or server infobase, configuration file ^(*.cf^), 1C:Designer XML, 1C:EDT project or no configuration expected. + set ERROR_CODE=1 + goto finally + +:export +if "%V8_SRC_TYPE%" equ "xml" ( + goto load_xml +) +if "%V8_SRC_TYPE%" equ "edt" ( + goto export_edt +) + +:export_edt + +echo [INFO] Export configuration extension from 1C:EDT format "%V8_SRC_PATH%" to 1C:Designer XML format "%XML_PATH%"... +IF not defined RING_TOOL ( + FOR /F "usebackq tokens=1 delims=" %%i IN (`where ring`) DO ( + set RING_TOOL="%%i" + ) +) +IF not defined EDTCLI_TOOL ( + IF defined V8_EDT_VERSION ( + IF %V8_EDT_VERSION:~0,4% lss 2024 goto checktool + set EDT_MASK="%PROGRAMW6432%\1C\1CE\components\1c-edt-%V8_EDT_VERSION%*" + ) ELSE ( + set EDT_MASK="%PROGRAMW6432%\1C\1CE\components\1c-edt-*" + ) + FOR /F "tokens=*" %%d IN ('"dir /B /S !EDT_MASK! | findstr /r /i ".*1c-edt-[0-9]*\.[0-9]*\.[0-9].*""') DO ( + IF exist "%%d\1cedtcli.exe" set EDTCLI_TOOL="%%d\1cedtcli.exe" + ) +) + +:checktool + +IF not defined RING_TOOL IF not defined EDTCLI_TOOL ( + echo [ERROR] Can't find "ring" or "edtcli" tool. Add path to "ring.bat" to "PATH" environment variable, or set "RING_TOOL" variable with full specified path to "ring.bat", or set "EDTCLI_TOOL" variable with full specified path to "1cedtcli.exe". + set ERROR_CODE=1 + goto finally +) +IF defined EDTCLI_TOOL ( + echo [INFO] Start conversion using "edt cli" + call %EDTCLI_TOOL% -data "%WS_PATH%" -command export --project "%V8_SRC_PATH%" --configuration-files "%XML_PATH%" +) ELSE ( + echo [INFO] Start conversion using "ring" + call %RING_TOOL% edt@%V8_EDT_VERSION% workspace export --project "%V8_SRC_PATH%" --configuration-files "%XML_PATH%" --workspace-location "%WS_PATH%" +) +IF not ERRORLEVEL 0 ( + set ERROR_CODE=%ERRORLEVEL% + goto finally +) + +:load_xml + +echo [INFO] Loading configuration extension from XML-files "%XML_PATH%" to infobase "%IB_PATH%"... +IF "%V8_CONVERT_TOOL%" equ "designer" ( + set V8_DESIGNER_LOG=%LOCAL_TEMP%\v8_designer_output.log + %V8_TOOL% DESIGNER /IBConnectionString %V8_BASE_IB_CONNECTION% /N"%V8_IB_USER%" /P"%V8_IB_PWD%" /DisableStartupDialogs /Out "!V8_DESIGNER_LOG!" /LoadConfigFromFiles "%XML_PATH%" -Extension %V8_EXT_NAME% + FOR /F "tokens=* delims=" %%i IN (!V8_DESIGNER_LOG!) DO IF "%%i" neq "" echo [WARN] %%i +) ELSE ( + IF defined V8_BASE_IB_SERVER ( + %IBCMD_TOOL% infobase config import --data="%IBCMD_DATA%" --dbms=%V8_DB_SRV_DBMS% --db-server=%V8_BASE_IB_SERVER% --db-name="%V8_BASE_IB_NAME%" --db-user="%V8_DB_SRV_USR%" --db-pwd="%V8_DB_SRV_PWD%" --user="%V8_IB_USER%" --password="%V8_IB_PWD%" --extension=%V8_EXT_NAME% "%XML_PATH%" + ) ELSE ( + %IBCMD_TOOL% infobase config import --data="%IBCMD_DATA%" --db-path="%IB_PATH%" --user="%V8_IB_USER%" --password="%V8_IB_PWD%" --extension=%V8_EXT_NAME% "%XML_PATH%" + ) +) +IF not ERRORLEVEL 0 ( + set ERROR_CODE=%ERRORLEVEL% + goto finally +) + +:export_ib + +echo [INFO] Export configuration extension from infobase "%IB_PATH%" configuration to "%V8_DST_PATH%"... +IF "%V8_CONVERT_TOOL%" equ "designer" ( + set V8_DESIGNER_LOG=%LOCAL_TEMP%\v8_designer_output.log + %V8_TOOL% DESIGNER /IBConnectionString %V8_BASE_IB_CONNECTION% /N"%V8_IB_USER%" /P"%V8_IB_PWD%" /DisableStartupDialogs /Out "!V8_DESIGNER_LOG!" /DumpCfg "%V8_DST_PATH%" -Extension %V8_EXT_NAME% + FOR /F "tokens=* delims=" %%i IN (!V8_DESIGNER_LOG!) DO IF "%%i" neq "" echo [WARN] %%i +) ELSE ( + IF defined V8_BASE_IB_SERVER ( + %IBCMD_TOOL% infobase config save --data="%IBCMD_DATA%" --dbms=%V8_DB_SRV_DBMS% --db-server=%V8_BASE_IB_SERVER% --db-name="%V8_BASE_IB_NAME%" --db-user="%V8_DB_SRV_USR%" --db-pwd="%V8_DB_SRV_PWD%" --user="%V8_IB_USER%" --password="%V8_IB_PWD%" --extension=%V8_EXT_NAME% "%V8_DST_PATH%" + ) ELSE ( + %IBCMD_TOOL% infobase config save --data="%IBCMD_DATA%" --db-path="%IB_PATH%" --user="%V8_IB_USER%" --password="%V8_IB_PWD%" --extension=%V8_EXT_NAME% "%V8_DST_PATH%" + ) +) +set ERROR_CODE=%ERRORLEVEL% + +:finally + +echo [INFO] Clear temporary files... +IF exist "%LOCAL_TEMP%" rd /S /Q "%LOCAL_TEMP%" + +exit /b %ERROR_CODE%