使用批处理文件启动批处理文件

时间:2013-05-30 11:22:51

标签: batch-file

我创建了一个批处理文件(假设batch1),它位于一个文件夹中(假设文件夹为A)并被编程为启动另一个批处理(假设为batch2),它位于另一个目录中(假设文件夹为B)。 Batch2被编程为提取文件(假设xyz.tar,它位于文件夹A和B中)。但是当我启动batch1时它会启动batch2,但batch2会提取文件夹A中的文件而不是B中。下面的示例可以帮助您理解。
这是我的批处理文件。

:: batch1

ECHO This is batch1  
"D:\folder B\batch2.bat"

:: batch2

ECHO This is batch2  
7z.exe x xyz.tar >nul

文件夹A包含batch1.bat和xyz.tar。

文件夹B包含batch2.bat和xyz.tar。

batch2启动但它开始提取文件夹A中的文件,但它应该提取文件夹B中的xyz.tar。

2 个答案:

答案 0 :(得分:2)

在您的@echo off/setlocal尝试

之后,在您的batch2.bat开始时
cd /d "%~dp0"

答案 1 :(得分:1)

我认为您必须更改工作文件夹才能在正确的位置提取。

尝试类似:

cd "d:\folder B"
 batch2.bat