2

我正在尝试设置一个准系统的roundhouse设置,只需进行一些操作。我正在尝试将 roundhouseE 使用的值设置在一个中心位置,而不是每个部署批处理脚本(这很麻烦)。但是,当我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)
4

1 回答 1

2

当您执行时SetupVal.bat,将控制该文件。没有回报,所以如果setval.bat结束,完整的批处理结构就结束了。而是调用您的文件:

call SetupVal.bat

setupval.bat当结束并返回控制时,您的初始批处理文件将继续下一行

于 2016-04-15T14:16:42.677 回答