本机环境变量的设置:java_home = C:\Program Files\Java\jdk1.5.0_09
*.bat中的命令格式:
%java_home%\bin\java 或者 C:\Program Files\Java\jdk1.5.0_09\bin\java
批处理文件中有以上这一行语句,要调用jdk下的java.exe ,但是我的jdk安装目录带空格的,运行这个.bat发现提示错误: “c:\Program” 不是内部或外部命令,检查了下,发现路径没有填写错误因此本人推断DOS中可能无法识别路径中有空格的情况,因此就google了一把还发现真的是这样,不过期间也在别人的机器上试了一把,却发现可以跑,巧合的是他安装的jdk路径和我的机器是一样的呀,难道是本人的RP问题吗?答案肯定是NO,检查了下他的环境变量的设置是:java_home = C:\PROGRA~1\Java\jdk1.5.0_14, 而我的设置是直接填真实的路径:java_home = C:\Program Files\Java\jdk1.5.0_09 区别就在这个“PROGRA~1”和带空格的真实路径“Program Files”之间了,环境变量可以用特殊的字符代替从而达到替换空格方便使用的目的,当然大家手工设置一般不会这样子去搞,都是直接拷贝路径,这也没有关系,对带空格的路径在bat代码中用双引号"" 给它引起来就OK了,改写成这样就OK了:
"%java_home%"\bin\java 或者 "C:\Program Files"\Java\jdk1.5.0_09\bin\java
综上所述:解决空格问题一共有两种办法,一个是想办法在环境变量设置的时候用特殊字符给他替换掉,另外一个就是在写代码的时候用双引号给有空格的路径给它引起来就OK了
参考资料:http://panqiujuan.blog.163.com/blog/static/9285237420105111733980/