0

我对这个蝙蝠有问题:

@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

一切正常。但我也需要运行那条线!

有什么建议么?提前致谢

最好的祝福

4

2 回答 2

1

请注意,如果您只是从另一个调用 .bat,命令处理器将不会返回给调用者。调用批处理不会恢复执行,“调用”就像一个简单goto的转到引用的批处理文件。

如果你更换

%CD%\Lancio_xxxx.bat

call %CD%\Lancio_xxxx.bat

然后在执行该批处理文件之后,该call行之后的命令也将被执行,这似乎是您正在寻找的。

于 2013-02-19T14:48:37.153 回答
0

在执行 Lancio_xxx.bat 的行周围尝试命令 PUSHD 和 POPD

这些命令分别保存和恢复当前目录

有关详细信息,请参阅以下链接:

http://ss64.com/nt/pushd.html

http://ss64.com/nt/popd.html

于 2013-02-19T14:43:14.163 回答