Java 8运行.exe文件,由Process Builder的参数最小化

时间:2017-02-26 20:34:02

标签: java process processbuilder

我需要运行一些使用参数最小化的.exe文件。现在我的代码我可以在普通窗口中运行它。 这是我的代码:

ProcessBuilder pb = new ProcessBuilder(directoryString, myArg1, myArg2);
Process pr = pb.start();

我找到了这个解决方案:

start /min "" directoryString

但我不知道如何在ProcessBuilder上使用带有参数的进程。

2 个答案:

答案 0 :(得分:0)

start实际上是一个Windows cmd命令。

因此:通过调用

来隐含
cmd.exe /c start /min .... 

通过Java进程构建器;如here所述。

我的意思是:首先打开一个Windows控制台/终端;并构建了一个像

这样的命令
{{1}}

当它运行你的程序时;然后使用那个字符串作为Java ProcessBuilder的输入。您可能还会找到一些更有用的示例here

答案 1 :(得分:0)

我这样做了:

    String args = "myArg1";
    String cmd = "cmd.exe /C START /MIN directoryString ";
    Runtime.getRuntime().exec(cmd + args);

在directoryString之后,它需要是一个空间,否则cmd将只读取一个没有空格的字符串,并尝试打开不存在的文件。