mirror of
https://github.com/arkuznetsov/1CFilesConverter.git
synced 2025-02-21 19:06:35 +02:00
70 lines
2.7 KiB
Batchfile
70 lines
2.7 KiB
Batchfile
@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
|
|
|
|
chcp 65001
|
|
|
|
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 Running conversion of files
|
|
|
|
set ERROR_CODE=0
|
|
|
|
set CONVERT_SCRIPT=%1
|
|
IF defined CONVERT_SCRIPT set CONVERT_SCRIPT=%CONVERT_SCRIPT:"=%
|
|
IF not defined CONVERT_SCRIPT (
|
|
echo [ERROR] Missed parameter 1 - "path to conversion script file (could be 1C converter script name or full path to script file)"
|
|
set ERROR_CODE=1
|
|
)
|
|
IF not exist "%CONVERT_SCRIPT%" (
|
|
FOR /F "usebackq tokens=1 delims=" %%i IN (`FORFILES /P "%~dp0.." /M "scripts" /C "cmd /c echo @path"`) DO set CONVERT_SCRIPT_PATH=%%i
|
|
echo [WARN] Script file "%CONVERT_SCRIPT%" doesn't exist ^(parameter 4^). Trying to find in "!CONVERT_SCRIPT_PATH!" directory.
|
|
set CONVERT_SCRIPT_PATH=!CONVERT_SCRIPT_PATH:"=!
|
|
set CONVERT_SCRIPT=!CONVERT_SCRIPT_PATH!\%WCONVERT_SCRIPT%.cmd
|
|
)
|
|
IF not exist "%CONVERT_SCRIPT%" (
|
|
echo [ERROR] Script file "%CONVERT_SCRIPT%" doesn't exist ^(parameter 1^).
|
|
set ERROR_CODE=1
|
|
)
|
|
set CONVERT_SRC_PATH=%2
|
|
IF defined CONVERT_SRC_PATH set CONVERT_SRC_PATH=%CONVERT_SRC_PATH:"=%
|
|
IF not defined CONVERT_SRC_PATH (
|
|
echo [ERROR] Missed parameter 1 - "path to convertion source"
|
|
set ERROR_CODE=1
|
|
) ELSE (
|
|
IF not exist "%CONVERT_SRC_PATH%" (
|
|
echo [ERROR] Path "%CONVERT_SRC_PATH%" doesn't exist ^(parameter 2^).
|
|
set ERROR_CODE=1
|
|
)
|
|
)
|
|
|
|
set CONVERT_DST_PATH=%3
|
|
IF defined CONVERT_DST_PATH set CONVERT_DST_PATH=%CONVERT_DST_PATH:"=%
|
|
IF not defined CONVERT_DST_PATH (
|
|
echo [ERROR] Missed parameter 3 - "output path to save conversion results"
|
|
set ERROR_CODE=1
|
|
)
|
|
IF not exist "%CONVERT_DST_PATH%" md "%CONVERT_DST_PATH%"
|
|
|
|
FOR /F "tokens=*" %%a in ('more') do (
|
|
set CURRENT_FILE=%%a
|
|
set CURRENT_FILE=!CURRENT_FILE:^/=^\!
|
|
set RELATIVE_PATH=!CURRENT_FILE:%%~nxa=!
|
|
IF defined RELATIVE_PATH (
|
|
set RELATIVE_PATH=!RELATIVE_PATH:~0,-1!
|
|
set CONVERT_DST_PATH=%CONVERT_DST_PATH%\!RELATIVE_PATH!
|
|
)
|
|
call "%CONVERT_SCRIPT%" "%CONVERT_SRC_PATH%\!CURRENT_FILE!" "!CONVERT_DST_PATH!"
|
|
)
|