作者:朱金灿

来源:http://blog.csdn.net/clever101

从网上搜了一些资料,再修改测试,终于通过了win7系统的测试。代码如下:

@echo offrem 本批处理文件目的为了增加Java开发的三个相关环境变量:JAVA_HOME、CLASS_PATH和Pathrem 作者:朱金灿,如有问题请发邮件: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 interceptrem 判断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.exestart explorer.exeRunDll32.exe USER32.DLL,UpdatePerUserSystemParameterspause

for,/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:

图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环境变量相关推荐

  1. Mac下添加java环境变量

    Mac下添加java环境变量 配置文件的路径是/etc/profile或~/.bash_profile,推荐大家使用mac自带的终端或者iTerm2来配置. 方法一:全局配置 1 2 3 4 5 6 ...

  2. 如何添加java环境变量_如何配置java环境变量

    1. 首先安装java jdk 2. 打开我的电脑--属性--高级--环境变量 3. 新建系统变量JAVA_HOME 和CLASSPATH 变量名:JAVA_HOME 变量值:C:\Program F ...

  3. 添加java环境变量_【安装 JDK】 配置环境变量

    看完这章后你会学习到以下内容: WIN64位电脑,如何配置JAVA环境? 常见的问题要如何解决? 第一步: 在任意浏览器输入"JDK下载"并找到官网 第二步:进入选择所需要的版本. ...

  4. 添加JAVA环境变量

    下载JAVA 1.我是默认安装的 添加环境变量 1.计算机->属性->高级系统设置->环境变量 2.新建系统变量 变量名:JAVA_HOME 变量值:自己Java的安装路径,第一个图 ...

  5. centos添加java环境变量

    开发过程中经常会用到java环境,每次写绝对路径好烦的,弄到环境变量里使用起来就方便多了 我现在的jdk8: jdk-8u161-linux-x64.tar.gz 1:解压到/data/soft 2: ...

  6. 一键添加JAVA环境变量

    2019独角兽企业重金招聘Python工程师标准>>> Set oWshEnvironment = CreateObject("WScript.Shell").E ...

  7. linux添加java环境变量

    首先进入根目录找到 .bashrc 文件 这个文件主要保存个人的一些个性化设置,如命令别名.路径等. alias rm='rm -i' alias ls='/bin/ls -F --color=tty ...

  8. dos配置java_windows dos命令配置JAVA环境变量

    配置JAVA系统(不是用户)环境变量 ::添加环境变量JAVA_HOME ::echo off 表示在批处理文件执行过程中,只显示结果,而不显示执行的命令 @echo on echo 添加Java环境 ...

  9. mac下java环境变量配置

    发现一个坑:最近发现有同事按照本文方式配置jdk环境变量一直不成功,后来发现他是使用了"Oh-My-Zsh",配置文件的路径不是/etc/profile或~/.bash_profi ...

最新文章

  1. afn原理 ios_iOS开发:AFN的基本使用
  2. 用通配符解决mappingResources的繁琐配置
  3. 零基础是学java还是python-零基础学编程java和python哪个好
  4. NEO从源码分析看nep2与nep6
  5. 索尼爱立信M608C使用心得!
  6. Hourglass网络
  7. 安卓三维展示源码_手机(安卓)自动化脚本开发线上培训
  8. Maven的资源坐标
  9. 计算机的alu的作用,算术逻辑运算单元(ALU)的基本功能是什么 – 手机爱问
  10. ZooKeeper未授权访问漏洞记录(影响范围:全版本,端口:2181)
  11. Spark 之 解决数据倾斜(一)
  12. 记一次详细的的SQL查询经历,group by慢查询优化
  13. vue仿微博评论回复_Vue之 3.0升级
  14. PHP执行系统外部命令函数:exec()、passthru()、system()、shell_exec()
  15. 【面向对象】第三单元规格化设计总结——JML
  16. CopyU!v2 已经收录到腾讯软件管家!
  17. Debug断点调试详解
  18. 字符串(昵称)过滤特殊符号和表情(通用)
  19. Java面向可复用性和可维护性的设计模式
  20. 服务间歇性停顿问题优化|得物技术

热门文章

  1. 传统的 Linux 软件包格式不适合现代应用
  2. TMD,JVM类加载原来是这样的!!!!
  3. 记录使用log4cpp析构报错
  4. 啥样的视频才叫8K?
  5. iframe滚动条在safari中无法滚动的终极解决方案
  6. Anaconda-tensorflow-keras安装方法学习
  7. ThingsBoard架构及技术栈
  8. Java学习笔记day14(两个引用指向同一对象内存图解、成员变量和局部变量的区别、private关键字、this关键字、构造方法的特点、面向对象标准汽车类练习)
  9. HTML在两个div标签中间画一条竖线
  10. Python的TCPServer类的使用