批处理设置系统环境变量(JDK)

在软件运行过程中,可能需要配置计算机的环境变量,在这里分为两种情况:

一:增加或修改环境变量只在当前软件环境中使用

如我们设置Java的环境变量:

set CLASSPATH=%CLASSPATH%;C:\LS\JAVA.JAR
保持原有的不变  自己加上要加的jar包,用分号隔开,当然你也可以写到前面,如:set CLASSPATH=D:/My_Path;%CLASSPATH%
set JAVA_HOME=  这里的路径自己写吧
不过这样写只对你打开的这个dos窗口有效,也就是你只有在这个窗口用java等命令,才会找到你才设的变量JAVA_HOME等
如果想看看是否设置成功可以用:echo %JAVA_HOME%

常用此方法配置当前软件的运行环境,如在PL/SQL的启动时,使用批处理(bat)来启动他并配置Oracle的变量信息,网上这种代码很多就不贴出来了,需要的自己去搜索。

二:通关注册表永久性的保存设置或增加的环境变量

以下是我从网上找的代码,很简单,如果你看不懂的,再给我留言吧:

实例一:批处理设置系统环境变量

复制代码
::添加环境变量JAVA_HOME
@echo off
echo 添加java环境变量
set regpath=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
set evname=JAVA_HOME
set javapath=**::详细的jdk安装根目录目录路径,例如:“”
reg add "%regpath%" /v %evname% /d %javapath% /f
pause>nul
 
 
::删除环境变量JAVA_HOME
@echo off
echo 删除java环境变量
set regpath=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
set evname=JAVA_HOME
reg delete "%regpath%" /v "%evname%"  /f
pause>nul
复制代码

实例二:先判断该环境变量是否已经存在,如果不存在则添加该环境变量。

复制代码
@echo off
    @set Path_=D:\Program Files
    for,/f,"skip=4 tokens=1,2,*",%%a,in,('reg query "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v Path'),do,( 
    @set PathAll_=%%c
    )
    echo %PathAll_%|find /i "%Path_%" && set IsNull=true|| set IsNull=false
    if not %IsNull%==true (
          reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v Path /t REG_EXPAND_SZ /d "%PathAll_%;%Path_%" /f
    )
pause
复制代码

对于实例一和实例二是从简单到复杂的过程,主要是怕有些人对代码的理解程度不同。


实际脚本:

@echo off
echo. 运行本文件前请将本放置在与JDK里面和bin文件夹在同一个目录
pause
@set path=%path%;%systemroot%;%systemroot%\system32;
@reg add "HKLM\system\controlset001\control\session manager\environment" /v JAVA_HOME /t reg_sz /d "%cd%" /f
@reg add "HKLM\system\controlset001\control\session manager\environment" /v PATH /t reg_expand_sz /d ".;%%JAVA_HOME%%\bin;%path%" /f
@reg add "HKLM\system\controlset001\control\session manager\environment" /v CLASSPATH /t reg_sz /d "%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\lib\tools.jar;." /f
pause 



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章