先贴脚本再逐行解释
@echo off
@echo "Enter your java path:(As example: C:\Program Files\Java\jdk1.8.0_162)"
SET /p java_path=
@echo setting JAVA_HOME
SETX JAVA_HOME "%java_path%" /M
SET ENV_PATH=%PATH%
@echo setting PATH
SETX PATH "%ENV_PATH%;%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin;" /M
pause
逐行解释:
@echo off 是关闭回显,控制台只保留脚本自己的输出。
第二行提示用户输入自己的java jdk的安装路径。
SET /p java_path= 表示接收用户输入并赋值给java_path变量。
SETX JAVA_HOME “%java_path%” /M 设置JAVA_HOME,加/M是代表设置system变量,可使所有用户可用,不加/M则只当前用户可用。
SET ENV_PATH=%PATH% 将系统的PATH赋值给ENV_PATH变量,因为SETX是覆盖的模式写环境变量的,所以先把原来的Path下的环境变量先取出来。
SETX PATH “%ENV_PATH%;%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin;” /M 将原有的和java的一同添加到system下的Path中。
脚本写完之后需要右键以管理员权限运行才能生效,普通用户没有权限。