windows批处理中对带空格路径的处理

一般在Windows的软件大部分安装在c:\ Program Files下面,比如我机器上的Java位置就是C:\Program Files\Java\jdk1.5.0_12,假如如果你在批处理中调用java或者javaw,会这么写:

set JAVA_HOME=C:\Program Files\Java\jdk1.5.0_12
set EXE_JAVA=%JAVA_HOME%\bin\java
%EXE_JAVA% -version

那样会报告一个错误:
'C:\Program' 不是内部或外部命令,也不是可运行的程序
或批处理文件。


以前为了避免这种问题,会把把JDK挪到c:\,但不是一个通用的解决办法,现在可以采用两种方式来解决:

1 加上引号,表示一个完整路径,这个在好多服务器批处理中常用到比如jboss,  tomcat。
set JAVA_HOME=C:\Program Files\Java\jdk1.5.0_12
set EXE_JAVA= "%JAVA_HOME%" \bin\java 
%EXE_JAVA% -version

你可能感兴趣的:(windows批处理中对带空格路径的处理)