摘要: 自己手动添加环境变量(以添加java 的jre环境变量为例子)
最近在做一个小项目,老板要求做一个一键自动安装 PHP,java(Jre),Mysql,并且要求不重启电脑,本想是一个简单的事情,哪知道却折腾了3天。主要是卡在添加java的环境变量上面。
自己手动添加环境变量(以添加java 的jre环境变量为例子)目前互联网上有这几种方式:
一. cmd添加环境变量,也就批处理方式bat方式:
@echo off
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
set myjrepath=C:\Java\jre
echo **********************************************
echo.
echo 将要安装软件运行环境jre
echo.
echo 安装请按任意键,退出直接关闭窗口
echo.
echo **********************************************
pause
echo.
echo 正在安装jre,请不要执行其他操作
echo.
echo 请稍等,这个时间大约需要四、五分钟
echo.
:start /WAIT c:\jdk8-windowsx64\jdk-8u181-windows-x64.exe /s INSTALLDIR=C:\Java\jre
echo jre安装完毕
set JAVA_HOME=C:\Java
set PATH=%PATH%;%%JAVA_HOME%%\jre\bin
set CLASSPATH=.;%%JAVA_HOME%%\jre\lib
Set RegV=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
reg add "%RegV%" /v "JAVA_HOME" /d "%JAVA_HOME%" /f
reg add "%RegV%" /v "Path" /t REG_EXPAND_SZ /d "%PATH%" /f
reg add "%RegV%" /v "CLASSPATH" /d "%CLASSPATH%" /f
rem
mshta vbscript:msgbox("Java环境已成功注册!",64,"成功")(window.close)
Exit
把以上代码保存为*.bat,并用管理员运行,就可以了。(记得修改jdk.exe所在路径,与将要安装到的路径),在win10,不用重启电脑,以管理员形式打开cmd,发现Java 环境OK,可是当在win7环境时,需要重启电脑,才有java环境。 具体原因,请关注坝坝虎个人博客www.qq249191508.com
还有一种程序实现,使用wmic 的方式,C#代码如下:
string strPHP = null;
strPHP = " wmic ENVIRONMENT where \"name='Path' and username='<system>'\" set VariableValue =\"%path%;C:\\jre\\bin\"";
ExecCmd(strPHP, false, false);
其中‘Path’,是环境变量的Key值,
C:\jre\\bin\ 是jre 所在的目录。
这种方式我归结到命令行方式,因为,在win7也是需要重启电脑,或者注销,或者进入windows环境变量窗口,点击确认按钮的。