更改文件批处理中的路径

时间:2013-02-19 14:25:20

标签: batch-file cmd exe

这个蝙蝠有问题:

@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
一切正常。但是我也需要运行这条线!

有什么建议吗?提前致谢

最好的问候

2 个答案:

答案 0 :(得分:1)

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

如果您更换

%CD%\Lancio_xxxx.bat

call %CD%\Lancio_xxxx.bat

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

答案 1 :(得分:0)

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

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

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

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

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