2013-12-20 52 views
0

我正在編寫一個.bat文件,當我遇到一個奇怪的javac問題時,它會根據文件擴展名自動編譯和運行程序。這是我.ba​​t文件的一個片段:javac沒有顯示在.bat文件中

... 
echo javac %1 
javac %1 
... 

程序給出了錯誤

javac "C:\MY\FILE.java" 
'javac' is not recognized as an internal or external command, 
operable program or batch file. 

,我知道通常意味着我的路徑配置不正確。這不是這種情況,因爲打字javac C:\MY\FILE.java工作順利。我的路徑始於C:\Program Files (x86)\Java\jdk1.7.0\binjava -version是1.7.0匹配。是否有任何理由讓我用.bat文件得到不同的結果,而不是直接輸入到控制檯?

+0

當您使用的回聲,它無關用javac ......似乎沒有配置您的路徑.. u能再次檢查 –

+0

已重新設置PATH變量在別處批處理文件。 – aquaraga

+0

不確定它是否能解決您的問題,但在您的路徑中有空間用於這樣的事情往往會破壞腳本。你可能想把你的jdk移動到c:\ jdk1.7.0之類的東西。這將需要卸載/重新安裝,然後更新您的路徑。 – Bill

回答

0

嘗試用以下

set JAVA_HOME="C:\Progra~2\Java\jdk1.7.0" 

echo %JAVA_HOME\bin\javac %1 
%JAVA_HOME\bin\javac %1 
+0

這很好,謝謝!你能解釋〜2嗎? – Zaq

+0

〜1和〜2用於MS-DOS中的短路徑 –