通过批处理bat设置系统环境变量的实现代码
bat代码
setJAVA_HOME=C:\ProgramFiles\Java2\jdk1.6.0_45 setPATH=%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin setCLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; start"""F:\ProgramFiles(x86)\Jaspersoft\iReport-5.6.0\bin\ireport.exe"
上面代码存为.bat,双击运行即可;如果还是加载不成功的话,检查一下ireport安装目录下,etc目录的ireport.conf中的jkdhome的路径是否是正确的
#${HOME}willbereplacedbyuserhomedirectoryaccordingtoplatform default_userdir="${HOME}/.${APPNAME}/5.6.0" default_mac_userdir="${HOME}/Library/ApplicationSupport/${APPNAME}/5.6.0" #optionsusedbythelauncherbydefault,canbeoverriddenbyexplicit #commandlineswitches 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" #fordevelopmentpurposesyoumaywishtoappend:-J-Dnetbeans.logger.console=true-J-ea #defaultlocationofJDK/JRE,canbeoverriddenbyusing--jdkhome<dir>switch jdkhome="C:\ProgramFiles\Java2\jdk1.6.0_45" #clusters'pathsseparatedbypath.separator(semicolononWindows,colononUnices) #extra_clusters= ireport.conf
在软件运行过程中,可能需要配置计算机的环境变量,在这里分为两种情况:
一:增加或修改环境变量只在当前软件环境中使用
如我们设置Java的环境变量:
setCLASSPATH=%CLASSPATH%;C:\LS\JAVA.JAR
保持原有的不变 自己加上要加的jar包,用分号隔开,当然你也可以写到前面,如:setCLASSPATH=D:/My_Path;%CLASSPATH%
setJAVA_HOME= 这里的路径自己写吧
不过这样写只对你打开的这个dos窗口有效,也就是你只有在这个窗口用java等命令,才会找到你才设的变量JAVA_HOME等
如果想看看是否设置成功可以用:echo%JAVA_HOME%
常用此方法配置当前软件的运行环境,如在PL/SQL的启动时,使用批处理(bat)来启动他并配置Oracle的变量信息,网上这种代码很多就不贴出来了,需要的自己去搜索。
二:通关注册表永久性的保存设置或增加的环境变量
以下是我从网上找的代码,很简单,如果你看不懂的,再给我留言吧:
实例一:批处理设置系统环境变量
::添加环境变量JAVA_HOME @echooff echo添加java环境变量 setregpath=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Environment setevname=JAVA_HOME setjavapath=c:\java\jdk regadd"%regpath%"/v%evname%/d%javapath%/f pause>nul ::删除环境变量JAVA_HOME @echooff echo删除java环境变量 setregpath=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Environment setevname=JAVA_HOME regdelete"%regpath%"/v"%evname%"/f pause>nul
实例二:先判断该环境变量是否已经存在,如果不存在则添加该环境变量。
@echooff @setPath_=D:\ProgramFiles for,/f,"skip=4tokens=1,2,*",%%a,in,('regquery"HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\SessionManager\Environment"/vPath'),do,( @setPathAll_=%%c ) echo%PathAll_%|find/i"%Path_%"&&setIsNull=true||setIsNull=false ifnot%IsNull%==true( regadd"HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\SessionManager\Environment"/vPath/tREG_EXPAND_SZ/d"%PathAll_%;%Path_%"/f ) pause
对于实例一和实例二是从简单到复杂的过程,主要是拍有些人对代码的理解程度不同。