0

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

::批次1

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

::批次2

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。

4

2 回答 2

2

在你的 batch2.bat 开始时,在你@echo off/setlocal尝试之后

cd /d "%~dp0"
于 2013-05-30T11:27:16.350 回答
1

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

尝试类似:

cd "d:\folder B"
 batch2.bat
于 2013-05-30T11:27:51.033 回答