我想逃离我的Java应用程序.bat文件。 我已经尝试了所有我能找到的方法,但没有一个似乎工作。
问题是,包含空格的路径.bat文件。
我用这个方法,所以我现在可以看到我的Eclipse控制台的结果
我实际的代码:
Runtime rt = Runtime.getRuntime();
String processString = "cmd /c \"" + homeFolder.getAbsolutePath() + SETUP_FILE + "\" \"" + homeFolder.getAbsolutePath() + "\"";
try {
Process proc = rt.exec(processString);
...
}
我已经试过用逸出引号,没有逃逸报价,分离串入String[]
和放置每个空格分隔命令它自己的小区:
{ "cmd", "/c", \"" + homeFolder.getAbsolutePath() + SETUP_FILE + "\" ... };
再次,有和没有转义引号:没有什么作品。
我还试图硬编码的路径的阵列和串两者。 相同的结果每一次。
homeFolder = C:\Users\La bla bla\workspace\ToolMaker\bin\
SETUP_FILE = setup.bat
整个命令是这样的:
cmd /c "C:\Users\La bla bla\workspace\ToolMaker\bin\setup.bat" "C:\Users\La bla bla\workspace\ToolMaker\bin"
此外,带或不带引号,相同的输出:
Output:
Error: 'C:\Users\La' is not recognized as an internal or external command,operable program or batch file.
很显然,我(在Windows 7中,64位专业)运行。 Java 7中
我看见有几个人说,他们在此之前的问题,但我无法找到如何让周围的答案。