Path 一个批处理文件如何调用另一个批处理文件?

Path 一个批处理文件如何调用另一个批处理文件?,path,batch-file,Path,Batch File,我在两个不同的路径上有两个不同的批处理文件。当我从B.bat调用A.bat时,我调用的批处理文件(A.bat)不起作用。当我双击A.bat时,它工作正常。我认为问题在于路径。但是,我总是使用完整路径。为什么它不起作用? 我只想提取我的文件 批次 call "C:\Documents and Settings\A.bat" 一批 SET earfile="E:\bee\deployments\sny1\SnyEarTest.ear" SET winrar_exe="C:\.....\winrar

我在两个不同的路径上有两个不同的批处理文件。当我从B.bat调用A.bat时,我调用的批处理文件(A.bat)不起作用。当我双击A.bat时,它工作正常。我认为问题在于路径。但是,我总是使用完整路径。为什么它不起作用? 我只想提取我的文件

批次

call "C:\Documents and Settings\A.bat"
一批

SET earfile="E:\bee\deployments\sny1\SnyEarTest.ear"
SET winrar_exe="C:\.....\winrar.exe"
SET war_file="C:\...."

%winrar_exe% e -o+ %earfile% %war_file% 
当我从A.bat存在的路径中提取war_文件时,我的war_文件将被提取到路径B中。有什么解决方案可以解决我的问题吗?

应该可以

pause
添加到
B.bat
的末尾,以便在窗口关闭前看到任何错误消息


在B.bat顶部添加一个cd/d路径,以指定用于解压缩EAR文件的文件夹。

a.bat中尝试此操作:

... %winrar_exe% e -o+ %earfile% %war_file% "%~dp0" ... %winrar_exe%e-o+%earfile%%war_file%%“%~dp0”
你的语法对我来说很有用,只是尝试了一下:调用“C:\temp\New folder\a.bat”你可以在a.bat中添加cd%~dp0,可能winrar无法在其他位置创建临时文件。我已经添加了cd%~dp0,但不起作用。发生的情况是,当我提取war_文件时,它会转到路径B。a.bat在另一个路径工作,但会提取到路径B。您有什么解决方案在
B.bat
顶部添加
cd/d路径来指定文件夹吗其中EAR文件被解压缩。