2012-07-20 49 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 + "\"");