-1

Uff...试图谷歌但没有结果。

大家好。我需要通过 cmd.exe 运行来自 java programm 的下一个命令(javascript 语法):

"/c cd c:\prb && Processing.bat c:\prb ext.dat auto"

这意味着我需要将当前目录更改为 c:\prb,写入“Processing.bat c:\prb ext.dat auto”并按 Enter。

我的Java代码是:

String command = "cmd /c start cmd.exe /K cd c:\\prb Processing.bat c:\\prb prb ext.dat auto";
Process pr = Runtime.getRuntime().exec(command);
pr.waitFor();

但它不起作用。我想我错过了命令行中“c:\prb”和“Processing.bat”之间的一些代码。

有人可以帮助我吗?

4

2 回答 2

0

我可以看到至少一个错误:路径c:\\prb Processing.bat包含空格,因此必须引用:

"cmd /c start cmd.exe /K cd \"c:\\prb Processing.bat\" c:\\prb prb ext.dat auto"

我不确定c:\\prb prb ext.dat。是一条路径还是两个单独的参数?如果它是一个论点,也引用它。

于 2012-09-03T14:39:09.527 回答
0

这次我会根据我的记忆写一个应对,我像 8 年前一样使用过 :) 你想解决什么是不可能的,不,这不是正确的词,但是:你想用指定的工作启动 cmd目录,而不是启动一个 bat 文件。

据我记得:
启动.bat,但给其他工作目录一个参数

或者:启动 cmd(1 个进程)给一个参数来执行更改目录给另一个参数来执行 bat 文件。全部来自Java,它更复杂。

如何做到这一点是另一个问题。

如果您没有指定工作目录,那么命令应该是这样的:

字符串命令 = "cmd /c \"c:\prb\Processing.bat\"";

如果需要,不要忘记更改工作目录。8年前我做过,对不起,如果我抢了你的时间,只是想帮忙

于 2012-09-03T14:41:58.573 回答