这个蝙蝠有问题:
@echo off
set CD1OLD=%CD%
cd /d %~dp0
%CD%\xxx.Http.Client.exe http://localhost:8081/aaa/comparer/aa/base/aa/compare > debug_aaa_base.xml
echo.
%CD%\xxx.Http.Client.exe http://localhost:8081/aaa/comparer/aa/complessi/aa/compare > debug_aaa_complessi.xml
echo.
echo ****** LANCIO xxxx ******
%CD%\Lancio_xxxx.bat
echo.
在这段代码之后,我需要运行它:
echo ****** SPOSTA FILES ******
%CD%\Elaborazione_aaa_Spostamento_files.exe
cd /d %CD1OLD%
但它不起作用..似乎第一个代码在执行代码本身时改变了他的执行路径,给出了第二个代码块的执行问题..
特别是,如果我删除此行
%CD%\Lancio_xxxx.bat
一切正常。但是我也需要运行这条线!
有什么建议吗?提前致谢
最好的问候
答案 0 :(得分:1)
请注意,如果您只是从另一个调用.bat,命令处理器将不会返回给调用者。调用批处理不会恢复执行,“调用”就像一个简单的goto
,它将转到引用的批处理文件。
如果您更换
%CD%\Lancio_xxxx.bat
带
call %CD%\Lancio_xxxx.bat
然后在执行该批处理文件之后,call
行之后的命令也将被执行,这似乎就是你要找的。 p>
答案 1 :(得分:0)
在执行Lancio_xxx.bat的行周围尝试命令PUSHD和POPD
这些命令分别保存和恢复当前目录
有关详细信息,请参阅以下链接: