在文件路径中转义空格

tk2*_*000 7 java windows whitespace exec filepath

我正在编写一个小型Java应用程序,我遇到了文件路径问题.

我想用.执行批处理文件

Runtime.getRuntime().exec("cmd /c start c:\program files\folder\file.bat");

但是现在Java因为文件路径中的空白而哭泣.

我该怎么逃避呢?

编辑:

好的,谢谢你的回答.但我刚遇到一个新问题:

如果我以这种方式启动.bat它只是打开一个cmd窗口,没有任何反应.但是,如果我将.bat移动到没有空格的c:/ folder /它可以工作...... .bat本身也很好.

Mat*_*ell 10

你可以通过使用带有String [] 的Runtime #exec来避免这样的问题:

Runtime.getRuntime().exec(new String[] {"cmd", "/c", "start", "c:\\program files\\folder\\file.bat"});
Run Code Online (Sandbox Code Playgroud)

这样您就不必担心引用文件名了.但是,您仍然需要担心在文件名中引用\.