2016-04-15 3 views
2

Я пытаюсь настроить barebones 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="[email protected]:%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="[email protected]:"####".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) 

ответ

2

при выполнении SetupVal.bat управление передается этому файлу. возврат невозможен, поэтому, если setval.bat заканчивается, заканчивается полная партия-структура. Вместо того, чтобы вызвать ваш файл:

call SetupVal.bat 

Ваш первоначальный пакетник будет продолжаться со следующей строки, когда setupval.bat заканчивается и возвращает управление

+0

Спасибо, это гениально! – RhysO

Смежные вопросы