读书人

批处理自动设立JAVA环境变量报错求教

发布时间: 2013-07-08 14:13:00 作者: rapoo

批处理自动设置JAVA环境变量报错求教
写了一个很简单的一个脚本,用于自动设置环境变量。参照脚本网址为:http://www.cnblogs.com/madgoat/articles/1087038.html,代码如下:

@echo 你提供的jdk安装目录为:%1

@echo off

IF EXIST %1\bin\java.exe (

rem 如输入正确的 Java2SDK 安装目录,开始设置环境变量

@setx JAVA_HOME %1

@setx path %JAVA_HOME%\bin;%path%

@setx classpath %classpath%;.

@setx classpath %classpath%;%JAVA_HOME%\lib\tools.jar

@setx classpath %classpath%;%JAVA_HOME%\lib\dt.jar

@setx classpath %classpath%;%JAVA_HOME%\jre\lib\rt.jar

@echo on

@echo Java 2 SDK 环境参数设置完毕,正常退出。

) ELSE (

IF %1=="" (

rem 如没有提供安装目录,提示之后退出

@echo on

@echo 没有提供 Java2SDK 的安装目录,不做任何设置,现在退出环境变量设置。

) ELSE (

rem 如果提供非空的安装目录但没有bin\java.exe,则指定的目录为错误的目录

@echo on

@echo 非法的 Java2SDK 的安装目录,不做任何设置,现在退出环境变量设置。

)

)

我的jdk安装地址为:C:\Program Files\Java\jdk1.6.0_26,所以将脚本改为
@echo jdk安装目录为:C:\Program Files\Java\jdk1.6.0_26

@echo off

IF EXIST C:\Program Files\Java\jdk1.6.0_26\bin\java.exe (

rem 如输入正确的 Java2SDK 安装目录,开始设置环境变量

@setx JAVA_HOME C:\Program Files\Java\jdk1.6.0_26

@setx path %JAVA_HOME%\bin;%path%

@setx classpath %classpath%;.

@setx classpath %classpath%;%JAVA_HOME%\lib\tools.jar

@setx classpath %classpath%;%JAVA_HOME%\lib\dt.jar

@setx classpath %classpath%;%JAVA_HOME%\jre\lib\rt.jar

@echo on

@echo Java 2 SDK 环境参数设置完毕,正常退出。

) ELSE (

IF C:\Program Files\Java\jdk1.6.0_26=="" (

rem 如没有提供安装目录,提示之后退出

@echo on

@echo 没有提供 Java2SDK 的安装目录,不做任何设置,现在退出环境变量设置。



) ELSE (

rem 如果提供非空的安装目录但没有bin\java.exe,则指定的目录为错误的目录

@echo on

@echo 非法的 Java2SDK 的安装目录,不做任何设置,现在退出环境变量设置。

)

)


命名为Env.bat将其置于C盘要目录下,在命令行中调用及结果显示如图:
批处理自动设立JAVA环境变量报错求教
显示错误有:
1、无效语法。默认选项不允许超过‘2’次
2、最下面 “此时不应有Files\Java\jdk1.6.0_26=="" ”
这两点怎么解释
执行过后 环境变量面板的用户变量增加了 classpath 值为 ;\jre\lib\rt.jar
但 JAVA_HOME(值为C:\Program Files\Java\jdk1.6.0_26)和classpath(值为 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tool.jar;)都应在系统变量里。

JAVA JAVA环境变量 批处理
[解决办法]

@echo jdk安装目录为:C:\Program Files\Java\jdk1.6.0_26

@echo off

IF EXIST C:\Program Files\Java\jdk1.6.0_26\bin\java.exe (

rem 如输入正确的 Java2SDK 安装目录,开始设置环境变量

@setx JAVA_HOME "C:\Program Files\Java\jdk1.6.0_26"

@setx path "%JAVA_HOME%\bin;%path%"

@setx classpath ".;%classpath%"

@setx classpath "%classpath%;%JAVA_HOME%\lib\tools.jar"

@setx classpath "%classpath%;%JAVA_HOME%\lib\dt.jar"

@setx classpath "%classpath%;%JAVA_HOME%\jre\lib\rt.jar"

@echo on

@echo Java 2 SDK 环境参数设置完毕,正常退出。

) ELSE (

IF C:\Program Files\Java\jdk1.6.0_26=="" (

rem 如没有提供安装目录,提示之后退出

@echo on

@echo 没有提供 Java2SDK 的安装目录,不做任何设置,现在退出环境变量设置



) ELSE (



rem 如果提供非空的安装目录但没有bin\java.exe,则指定的目录为错误的目



@echo on

@echo 非法的 Java2SDK 的安装目录,不做任何设置,现在退出环境变量设置



)

)


setx 第二个参数加引号
[解决办法]
引用:

建议你一句句手动执行,按句检查执行效果

读书人网 >J2EE开发

热点推荐