2013-09-27 212 views
0

我建立一個DOS批處理文件(或命令批處理文件,而),它看起來像這樣內:執行可執行一個bat文件後,從我的批處理文件

@echo off 

set REGKEY=HKLM\Software\Adonix\X3RUNTIME\x3v6 
set REGVAL=ADXDIR 

REM query the value. pipe it through findstr in order to find the matching line that has the value. only grab token 3 and the remainder of the line. %%b is what we are interested in here. 

set VALUE= 
for /f "tokens=2,*" %%a in ('reg query %REGKEY% /v %REGVAL% ^| findstr %REGVAL%') do (
set myDir=%%b 
) 

%myDir%\bin\env.bat 

Adonix.exe -v 
pause 

出於某種原因,這個腳本在%myDir%\bin\env.bat行之後停止執行;我不知道爲什麼。

我希望它運行adonix -v行,但它不。實際上,如果您在env.bat文件後面放置了echo,它仍然不會運行。

有沒有辦法運行env.bat文件(它只是爲路徑運行一堆SET命令),讓它執行那些設置命令,然後再運行adonix.exe?爲什麼在env.bat之後停止運行?

+3

解決方法是使用 調用%myDir%\ bin \ env.bat –

回答

4

您必須使用call才能從批處理文件運行另一個批處理文件,並希望將控制傳回給您。