我正在构建一个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
之后停止运行?
答案 0 :(得分:4)
您必须使用call
从批处理文件中运行另一个批处理文件,并希望控制权传递给您。