2016-04-15 41 views
2

我正在嘗試設置一個準系統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

相關問題