在我的批处理文件中执行bat文件之后的可执行文件

时间:2013-09-27 18:34:45

标签: batch-file cmd

我正在构建一个dos批处理文件(或命令批处理文件),如下所示:

@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行,但事实并非如此。实际上,如果您在echo文件之后放置env.bat,它仍然无法运行。

有没有办法运行env.bat文件(它只是为路径运行一堆SET命令),让它执行那些设置命令,然后再运行adonix.exe?为什么它会在env.bat之后停止运行?

1 个答案:

答案 0 :(得分:4)

您必须使用call从批处理文件中运行另一个批处理文件,并希望控制权传递给您。