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

所属分类: 脚本专栏 / DOS/BAT 阅读数: 1768
收藏 0 赞 0 分享

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

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

更多精彩内容其他人还在看

XP下WORKSTATION启动慢导致系统启动时间过长问题的解决方法

通常安装过VMwareWorkstation导致系统启动过慢,经分析后,发现WORKSTATION服务启动时间较长,禁用后效果明显,可WORKSTATION是WINDOWS的共享基础服务,像我就离不开这个服务的,所以只需下面的脚本就可以解决问题了
收藏 0 赞 0 分享

IP动态切换bat脚本

因为公司办公室要设置固定IP才行,而家里的IP段和公司是不一样的,家里采用了DHCP机制,这样每次就得改IP设置,很是不方便,就写了这个脚本来动态切换,很流畅的说! WINXP,WIN7测试通过
收藏 0 赞 0 分享

奥汀管理员不切换bat脚本 V1.0-Design by Adobo

很多程序不能在管理员权限下运行,尤其是一些破解的程序。所以写了这个脚本,不影响正常的管理员,也不用切换到USERS账户~
收藏 0 赞 0 分享

cmd NTSD命令用法详解

ntsd 是一条dos命令,功能是用于结束一些常规下结束不了的死进程
收藏 0 赞 0 分享

win2003下杀任何进程的命令(taskkill,ntsd)

才能关掉一个用任务管理器关不了的进程?大多数人想到的都是专门工具,如IceSword。其实用Windows自带的工具就能杀大部分进程
收藏 0 赞 0 分享

Windows和 Linux下生成以当前时间命名文件的方法

在 Windows、Linux 操作系统,分别利用BAT批处理文件和Shell脚本,生成类似“20110228_082905.txt”以“年月日_时分秒”命名的文件
收藏 0 赞 0 分享

用批处理去掉快捷方式上的小箭头图案的代码

用批处理去掉快捷方式上的小箭头图案的代码,需要的朋友可以参考下。
收藏 0 赞 0 分享

xcopy 实现批处理拷贝文件或文件夹

xcopy 是一个很有用的doc命令,应该学习学习,XCOPY 还有众多的功能, 是加参数来完成的。上面的/s /e 参数的作用分别是把子目录和空目录都复制过去
收藏 0 赞 0 分享

安全工具netsh IPSec使用方法[ip安全策略]

IPSec的全称是Internet Protocol Security,翻译成中文就是Internet协议安全性。它的作用主要有两个:一个是保护 IP 数据包的内容,另外一点就是通过数据包筛选并实施受信任通讯来防御网络攻击
收藏 0 赞 0 分享

注册表危险组件删除功能批处理

用批处理实现的删除注册表危险组件的代码,主要应用于服务器,个人电脑不建议使用。
收藏 0 赞 0 分享
查看更多