67,513
社区成员
发帖
与我相关
我的任务
分享
@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 的安装目录,不做任何设置,现在退出环境变量设置。
)
)
@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 的安装目录,不做任何设置,现在退出环境变量设置。
)
)
@echo off
title Set Java environment variables
@reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
\Environment" /v Java_Home /t reg_sz /d "%cd%" /f
@reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
\Environment" /v ClassPath /t reg_expand_sz /d ".;%Java_Home%\lib\dt.jar;%Java_Home%
\lib\tools.jar;%Java_Home%\jre\lib\rt.jar" /f
@reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
\Environment" /v path /t reg_expand_sz /d ".;%path%;%Java_Home%\bin" /f
set /p tmp=Successfully, esc......
pause>nul
以这种方式即可,不过它也不能将%Java_Home%写进去,比如%Java_Home%\bin 写到path里是
C:\Program Files\Java\jdk1.6.0_26\bin
注意事项有:
1、ClassPath(第二条)与path(第三条)的顺序不能更改(测试得出来)
2、该批处理应该放到JDK的安装目录里,因为"%cd%"获取的是当前的路径
@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 第二个参数加引号@echo jdk安装目录为:C:\Program Files\Java\jdk1.6.0_26
@echo on
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 环境参数设置完毕,正常退出。
)
@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"