2012-07-20 53 views
0
  1. 失败
String mysql = "C:/Progra~1/Apache~1/Tomcat~1/a.exe"; 
Runtime.getRuntime().exec("cmd /c " + mysql); 

真正的路径为C:\ Program Files文件\ Apache软件基金会\ Tomcat的6.0 \ a.exe的如何在cmd中运行应用程序时的路径包含(空白和数量),不仅空白

  1. 成功
String mysql = "C:/Progra~1/Apache~1/a.exe"; 
Runtime.getRuntime().exec("cmd /c " + mysql); 

真正的路径为C:\ Program Files文件\ Apache软件基金会\ a.exe的

为什么第一次不工作?

+0

您确定“tomcat 6.0”的短名称是tomcat〜1吗? – BugFinder 2012-07-20 07:27:47

+0

我不确定,但长度应该是8.如果文件没有版本号,它将会出现。我不知道原因。 – 2012-07-20 07:31:00

+0

我不知道像“aa 2.0”,“tomcat 6.0”的短名称,但我知道像“程序文件”的简称。 – 2012-07-20 07:35:32

回答

1

正如一些读者指出的,可能你的第一个例子不起作用,因为你的8.3名称不正确。或者,使用“长”名更有意义:

String mysql = "C:/Program Files/Apache Software Foundation/Tomcat 6.0/a.exe"; 
Runtime.getRuntime().exec("cmd /c \"" + mysql + "\"");