2017-02-23 162 views
0

我想运行从另一个批处理文件,但在这样做的时候,我有一个问题。第一批执行第二批,它们都在不同的文件夹中。如何运行从另一个批处理文件,但在一个单独的进程的批处理文件?

但问题是执行的第二批时,看来,它是第一个文件夹,这是不正确,因为第二批应在文件夹B不在A. 我敢肯定问题是,第一批是运行一切人,所以一切发生,因为如果它是第一批过程的一部分。

所以,我怎么能解决这个问题?

检查输出:enter image description here

这是我的代码:

-> batch in folder A: start "" C:\Users\MyUser\Desktop\FOLDER-B\HERE.bat & 

-> batch in folder B: echo WHY AM I STILL IN FOLDER-A ? && pause 
+2

您还没有指示任何程序做任何类型的变化目录。工作目录将是文件夹A,因为这是父进程设置的目录。您正在从父进程继承整个环境。您可能需要阅读START命令的帮助。我敢打赌,你想使用一个开关。 – Squashman

回答

1

因为你开始从文件夹-A批次。无论可执行文件的位置如何,它都可以是路径中的其他可执行文件。如果你想用的起始目录(无论是可执行文件驻留)到start可执行文件(在这种情况下,一个批处理文件),然后

pushd .....folder-B 
start "" here.bat ... 
popd 

pushd变化所需目录,所以有那么没有必要指定完整的文件路径。 popd返回到原始目录。

+1

你也可以添加到你的答案。 '开始“”/ D“C:\文件夹B的路径”here.bat“ – Squashman

+0

@Squashman:是的,但我没有想到它...... – Magoo

+0

谢谢你Magoo。这工作得很好。所以这就像去文件夹B并双击“here.bat”?或不? – suffuko

相关问题