2013-12-20 50 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中的短路径 –