ProcessBuilder和带空格的命令

时间:2013-05-07 10:05:29

标签: java processbuilder

我最近将我的Java版本更新为JDK7u21。在更新21的release notes中,使用Runtime.exec明确提到了问题。

因此,我想更改我的代码以使用ProcessBuilder。我正在尝试执行一个带空格的命令。但即使使用ProcessBuilder,我也会登陆C:\ Users \ Parag.Joshi \ Documents而不是确切的目录。

以下是我的代码:

ProcessBuilder p = new ProcessBuilder("cmd", "/c", "explorer ", "C:\Local Disk D\My Tutorial");
p.start();

我看了Java execute a command with a space in the pathname,但没有得到线索。

1 个答案:

答案 0 :(得分:4)

我刚在本地机器上测试过它。

由于"explorer "之后的空格而导致行为。删除该空间,它将工作。您还需要引用\

ProcessBuilder p = new ProcessBuilder("cmd", "/c", "explorer", 
                                      "C:\\Local Disk D\\My Tutorial");