Как получить значения из исполняемого пакетного файла
Я пытаюсь настроить Bonebone RoundhousE с помощью нескольких касаний. Я пытаюсь сделать так, чтобы значения, используемые roundhousE, устанавливались в одном центральном месте, а не в каждом пакетном скрипте развертывания (что является проблемой в заднице). Тем не менее, когда я ссылаюсь на SetupVal.bat
из каждого пакета развертывания он устанавливает значения, но просто останавливает выполнение сценария развертывания. Я не уверен, почему это не продолжается, и это действительно раздражает меня.
Это мое SetupVal.bat
:
SET product.name="####"
SET database.name="%product.name%.DB"
SET sql.files.directory="..\db\SQLServer"
SET server.database="(local)\SQLEXPRESS"
SET repository.path="git@roconnor:%product.name%.git"
SET version.file="_BuildInfo.xml"
SET version.xpath="//buildInfo/version"
SET environment="LOCAL"
это один из моих сценариев (Local.DBDeployment.bat
):
@echo off
cd ..
SetupVal.bat
cd deployment
REM this is to make sure the path is correctly set out
"%cd%\Console\rh.exe" /d=%database.name% /f=%sql.files.directory% /s=%server.database% /vf=%version.file% /vx=%version.xpath% /r=%repository.path% /env=%environment% /simple
pause
Это вывод, когда я бегу Local.DBDeployment.bat
:
C:\dev\Database>SetupValues.bat
C:\dev\Database>SET product.name="####"
C:\dev\Database>SET database.name=""####".DB"
C:\dev\Database>SET sql.files.directory="..\db\SQLServer"
C:\dev\Database>SET server.database="(local)\SQLEXPRESS"
C:\dev\Database>SET repository.path="git@roconnor:"####".git"
C:\dev\Database>SET version.file="_BuildInfo.xml"
C:\dev\Database>SET version.xpath="//buildInfo/version"
C:\dev\Database>SET environment="LOCAL"
И, наконец, это моя структура каталогов:
Database (root)
|
\_db (SQL scripts are here)
|_deployment (bat scripts are here)
|_settings (ignoring contents)
|_SetupVal.bat (This sets the values)
1 ответ
Когда вы выполняете SetupVal.bat
, контроль дается этому файлу. нет возврата, так что если setval.bat
заканчивается, завершается пакетная структура. Вместо этого назовите свой файл:
call SetupVal.bat
Ваш начальный пакетный файл продолжится со следующей строки, когда setupval.bat
заканчивается и возвращает контроль