欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

通过批处理bat设置系统环境变量的实现代码

程序员文章站 2022-03-22 16:33:38
bat代码 set java_home=c:\program files\java2\jdk1.6.0_45 set path=%java_home%/bin;...

bat代码

set java_home=c:\program files\java2\jdk1.6.0_45
set path=%java_home%/bin;%java_home%/jre/bin 
set classpath=.;%java_home%\lib\dt.jar;%java_home%\lib\tools.jar; 

start """f:\program files (x86)\jaspersoft\ireport-5.6.0\bin\ireport.exe"

上面代码存为.bat,双击运行即可;如果还是加载不成功的话,检查一下ireport安装目录下,etc目录的ireport.conf中的jkdhome的路径是否是正确的

# ${home} will be replaced by user home directory according to platform
default_userdir="${home}/.${appname}/5.6.0"
default_mac_userdir="${home}/library/application support/${appname}/5.6.0"

# options used by the launcher by default, can be overridden by explicit
# command line switches
default_options="-j-xms256m -j-xmx512m -j-dorg.netbeans.proxyclassloader.level=1000 -j-xx:maxpermsize=512m -j-dapple.laf.usescreenmenubar=true -j-dapple.awt.graphics.usequartz=true -j-dnetbeans.exception.report.min.level=99999 "
# for development purposes you may wish to append: -j-dnetbeans.logger.console=true -j-ea

# default location of jdk/jre, can be overridden by using --jdkhome <dir> switch
jdkhome="c:\program files\java2\jdk1.6.0_45"

# clusters' paths separated by path.separator (semicolon on windows, colon on unices)
#extra_clusters=

ireport.conf

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

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

如我们设置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=c:\java\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

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