批处理实现添加java环境变量
2015-03-19 18:14
85 查看
作者:朱金灿
来源:http://blog.csdn.net/clever101
从网上搜了一些资料,再修改测试,终于通过了win7系统的测试。代码如下:
这一句的作用是遍历注册表HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment中的Path变量的所有文本,并以Tab+空格做分隔符,取出第1、2和剩余部分,分别存放在a、b、c变量中。如图2-1:
![](http://blog.chinaunix.net/attachment/201308/13/25498312_1376384221tOxT.png)
图2-1
因此%%a,代表Path,%%b代表REG_SZ,%%c代表 C:\Windows\System32;D:\Program Files。
必须注意 delims=(Tab)(空格)" ,这里必须是先一个tab后再加空格,不然一定会报错的。
另外注意,因为上面的对Path的分割用的是(Tab)(空格),for语句写成如下:
for,/f,"tokens=1,2,3 delims=(Tab)(空格)",%%a,in(略)
这里%%c取得的值将是 “C:\Windows\System32;D:\Program”,原因是Program Files中出现了一个空格。
神说,这里因为delims默认的分隔符是空格和tab键,这个地方注意一下!
参考文献:
1. 批处理 字符串去空格实现代码
2.批处理常用命令及path路径添加
3.批处理应用之设置JAVA环境变量
来源:http://blog.csdn.net/clever101
从网上搜了一些资料,再修改测试,终于通过了win7系统的测试。代码如下:
@echo off rem 本批处理文件目的为了增加Java开发的三个相关环境变量:JAVA_HOME、CLASS_PATH和Path rem 作者:朱金灿,如有问题请发邮件:clever101@163.com @set Path_=%javaPath%\bin;%javaPath%\jre\bin @reg add "HKLM\system\controlset001\control\session manager\environment" /v JAVA_HOME /t reg_sz /d "%javaPath%" /f rem 查询Path环境变量的所有路径 @set Path_=%javaPath%\bin for,/f,"tokens=1,2,* delims= ",%%a,in,('reg query "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v Path'),do,( @set PathAll_=%%c ) rem 去除路径的最后的空格 :intercept if "%PathAll_:~-1%"==" " set "PathAll_=%PathAll_:~0,-1%"&goto intercept rem 判断java的相关路径是否在Path环境变量下,如果不在则添加进来 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 ) if not %IsNull%==false (echo "Java的bin路径已经在Path环境变量中") @reg add "HKLM\system\controlset001\control\session manager\environment" /v CLASSPATH /t reg_expand_sz /d "%javaPath%\lib\dt.jar;%javaPath%\lib\tools.jar;." /f rem 刷新注册表 taskkill /f /im explorer.exe start explorer.exe RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters pausefor,/f,"tokens=1,2,* delims=(Tab)(空格)",%%a,in,('reg query "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v Path')
这一句的作用是遍历注册表HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment中的Path变量的所有文本,并以Tab+空格做分隔符,取出第1、2和剩余部分,分别存放在a、b、c变量中。如图2-1:
![](http://blog.chinaunix.net/attachment/201308/13/25498312_1376384221tOxT.png)
图2-1
因此%%a,代表Path,%%b代表REG_SZ,%%c代表 C:\Windows\System32;D:\Program Files。
必须注意 delims=(Tab)(空格)" ,这里必须是先一个tab后再加空格,不然一定会报错的。
另外注意,因为上面的对Path的分割用的是(Tab)(空格),for语句写成如下:
for,/f,"tokens=1,2,3 delims=(Tab)(空格)",%%a,in(略)
这里%%c取得的值将是 “C:\Windows\System32;D:\Program”,原因是Program Files中出现了一个空格。
神说,这里因为delims默认的分隔符是空格和tab键,这个地方注意一下!
参考文献:
1. 批处理 字符串去空格实现代码
2.批处理常用命令及path路径添加
3.批处理应用之设置JAVA环境变量
相关文章推荐
- 批处理实现添加java环境变量
- 用java实现修改系统的环境变量并使其不需重启就生效
- 批处理命令之实现修改环境变量的值
- 通过批处理bat设置系统环境变量的实现代码
- Linux下搭建Java环境变量并实现第一个Java小程序
- 使用批处理自动配置Java环境变量
- 偷点小懒——批处理配置Java环境变量
- ubunu设置java命令为全局的命令-添加到全局环境变量
- Windows7中Java64位环境变量配置:javac不是内部命令或外部命令,也不是可运行的程序或批处理文件。
- linux 添加java环境变量
- windows下使用批处理实现切换JDK环境变量
- java环境变量配置和批处理编译
- XP下 Java JDK环境变量自动配置批处理
- java第一课:安装环境变量和用记事本实现Hello World
- [BAT]批处理安装Java并配置环境变量
- 批处理设置Java环境变量/命令行设置Java环境变量
- 通过批处理(bat)来注册java环境变量
- 使用批处理注册Java环境变量--很好用
- linux下添加JAVA_HOME环境变量
- 使用批处理自动配置Java环境变量(改进Java_home输入方式)