人懒,就得“多干活”!  
正常安装JDK 的话,它会修改系统的path 变量,加入自己的调用路径(jre)

这样,我们刚安装好后,就可直接调用java –verbose 查看jre 安装的目录了。

(如果你是批处理安装的,那么当前是无法调用的,可另开新窗口就可调用了)

主要代码,就三行( 默认都是用户变量,两个%转义,还有^输出转义)

setx CLASSPATH ".;%%JAVA_HOME%%\lib;%%JAVA_HOME%%\lib\tools.jar"

setx PATH ";%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin"

setx JAVA_HOME " C:\ProgramFiles\Java\jdk1.8.0_111"

代码复制到文本文件,另存为 XXX.bat ,然后把jdk安装文件拖在XXX.bat上即可

写入的都是 相对路径

-----------------完整 批处理 复制以下-----

@Echo Off

title  正在为您安装 jdk...

color 0a

mode con cols=50 lines=20

echo 正在为您安装 jdk...

rem 从拖入的文件获取路径并执行,等待安装结束

start /w %1 /s

rem 用java -verbose 获取JAVA安装路径

for /f "delims=%%a in ('%programdata%\Oracle\Java\javapath\java -verbose') do (

set Java_path=%%a

)

rem 分别获取安装盘符,与目录再拼接成绝对路径

for /f "tokens=1,2 delims=':'" %%i in ("%Java_path%") do (

set str1=%%i

set str2=%%j

)

set Java_path=%str1:~-1%:%str2:~0,-1%

rem 截取JAVA安装的目录

set Java_path=%Java_path:~0,-11%

rem 将字符串中的jre换成jdk

set Java_path=%Java_path:Java\jre=Java\jdk%

echo %Java_path%

rem 以脚本变量 替换用户或系统中的变量,可以写入引用路径

set JAVA_HOME =""

rem 设置 javac 的用户变量,如果想成系统变量请加 -m

setx CLASSPATH ".;%%JAVA_HOME%%\lib;%%JAVA_HOME%%\lib\tools.jar"

setx PATH ";%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin"

setx JAVA_HOME "%Java_path%"

cls

Echo. --------安装结束-----------

echo 如果 输入javac 没有反映,请重启下机器

pause

-----------------完整 批处理 复制以上-----

如果我想在 path 的基础上 加入 对tomcat目录里的php的引用,怎么加?

可以在用户

变量名 上写 TOMCAT_HOME

变量值 上写 C:\apache-tomcat-7.0.40

Path 里只要写 setx path "%path%;%TOMCAT_HOME%\php" 就可以引用了

setx /k /?  有一条 /K     regpath         指定变量是基于注册表项的信息而设置的。

这条是说,设置一条基于注册表信息的变量,就是读取注册表的结果为设置环境变量的值。

如下图

PS 一些常识

上面可以看到用户环境变量 与 系统环境变量 中都有path ,

从截图上可以看出,查询的过程是path 的结果是 系统变量加用户,先查系统再查用户

我们修改用户变量时,会修改注册表的两个地方

[HKEY_CURRENT_USER\Environment]

[HKEY_USERS\S-1-5-21-xxxxxxxx-xxxxxxxxxx-xxxxxxxxxx-500\Environment](500是管理员)

第一个指当前用户,就是当前安装jdk 的用户

第二个是Public 用户,公共用的,有些用户安装的东西 for everyone 的那种。

所以上面的那3 行代码,就可以写成

reg add HKCU\Environment /v CLASSPATH /tREG_EXPAND_SZ /d ".;%%JAVA_HOME%%\lib;%%JAVA_HOME%%\lib\tools.jar" /f

reg add HKCU\Environment /v PATH /t REG_EXPAND_SZ /d ";%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin;"/f

reg add HKCU\Environment /v JAVA_HOME /tREG_SZ /d " C:\Program Files\Java\jdk1.8.0_111" /f

---------------------------------------------

reg query HKEY_CURRENT_USER\Environment /v JAVA_HOME   //查看

reg delete HKCU\Environment /v JAVA_HOME /f     //删除

------------------------------------------

JDK一键安装,配置环境的更多相关文章

  1. jdk下载安装配置环境变量

    因为学习原因要用到一些工具,jdk12的版本与那个工具不兼容,所以这里推荐使用的是jdk1.8的版本, 不知道是电脑原因还是啥原因,jdk 12的版本用不了配不好环境变量. 首先可以在官网下载jdk1 ...

  2. Java JDK的安装以及环境变量的配置

    安装并配置完Android SDK之后,本想着可以做个简单的APP应用了,只是依然提示我“请确认Java JDK是否安装”类似的报错,于是又进行了Java JDK的安装以及环境变量的配置. 1.下载地 ...

  3. LNMP1.3一键安装Linux环境,配置Nginx运行ThinkPHP3.2

    LNMP1.3一键安装Linux环境,配置Nginx运行ThinkPHP3.2 你是否遇见过:安装LNMP1.3环境后,运行ThinkPHP 3.2,只能打开首页,不能访问控制器,报404错误. 按照 ...

  4. Java入门之JDK的安装和环境变量的配置

    Java的版本 1. Java SEjava se 以前称为J2SE.它允许开发和部署在桌面.服务器.嵌入式环境和实时环境中使用的 Java 应用程序.Java SE是基础包,但是也包含了支持 Jav ...

  5. JDK的安装及环境变量配置

    JDK的安装及环境变量配置 JDK解释:直达详细解释. 1.JDK下载地址:点击直达官网下载 进入后,如图1,点击图中红框DOWNLOAD按钮进入下载页 进入下载页后,在下载也底端,根据自己的需求下载 ...

  6. Java基础(1)JDK的安装与环境变量配置

    最近在复习Java基础,第一课就是JDK的安装配置以及环境变量的配置,不多废话,直接开始吧 (1)去Oracle官方网站下载JDK 1.8 Java的历史想必大家也清楚,Sun公司开发的一门面向对象的 ...

  7. java运行环境jdk的安装和环境变量的配置教程

    jdk的下载与安装 一.官网下载jdk 1.百度搜索jdk,进入官网,如下图所示: 官网下载jdk图1 2.在官网网站中找到合适的版本下载(以最新版本为例),如下图所示: 官网下载jdk图2 官网下载 ...

  8. JDK下载安装与环境变量配置图文教程【超详细】

    JDK下载安装与环境变量配置图文教程[超详细] 创建时间:2019年11月13日11时02分 文章目录 1. JDK介绍 1.1 什么是JDK? 1.2 JDK版本介绍 2. JDK下载与安装 3.w ...

  9. Linux下jdk的安装和环境变量的配置

    Linux下jdk的安装和环境变量的配置 一.jdk的下载 方式一:在官网下载 http://www.oracle.com/technetwork/java/javase/downloads/inde ...

随机推荐

  1. asp web.config文件里compilation的assemblies add的元素来自哪里

    该程序集组合由版本.区域性和公钥标记组成. ASP.NET 首先在应用程序的专用 Bin 目录中搜索程序集 DLL,然后在系统程序集缓存中搜索程序集 DLL. add 元素添加要在动态资源编译期间使用 ...

  2. bzoj 3131 [Sdoi2013]淘金(数位dp)

    题目描述 小Z在玩一个叫做<淘金者>的游戏.游戏的世界是一个二维坐标.X轴.Y轴坐标范围均为1..N.初始的时候,所有的整数坐标点上均有一块金子,共N*N块. 一阵风吹过,金子的位置发生了 ...

  3. dedecms有缩略图则显示缩略图,没有则显示随机缩略图

    随着html5以及扁平化等新的设计概念的深入人心,缩略图功能则成了一般网页模版制作不可或缺的一个功能,dedecms默认的的缩略图调用标签[field:imglink/] 或者 [field:litp ...

  4. JS字符串替换(jQuery)

    ①自己封装的一个方法String.format String.format = function() { var s = arguments[0]; for (var i = 0; i < ar ...

  5. .NET 反射

    反射是.NET很强大的一个机制. 它就像照妖镜一般的存在.它能调用你的任意私有成员,如:私有构造函数.私有方法.私有字段. 类的构造函数声明为了private,别人无法实例化对象出来?No,No,No ...

  6. Springboot 实现前台动态配置数据源 (修改数据源之后自动重启)

    1.将 db.properties 存放在classpath路径; driverClassName=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3 ...

  7. P4011 孤岛营救问题

    \(\color{#0066ff}{题目描述}\) 1944 年,特种兵麦克接到国防部的命令,要求立即赶赴太平洋上的一个孤岛,营救被敌军俘虏的大兵瑞恩.瑞恩被关押在一个迷宫里,迷宫地形复杂,但幸好麦克 ...

  8. php屏蔽错误消息

    定义和用法: error_reporting() 设置 PHP 的报错级别并返回当前级别. 函数语法: error_reporting(report_level) 如果参数 level 未指定,当前报 ...

  9. Java实现几分钟之后调度任务的定时器

    几分钟之后执行某一操作,使用定时器Timer可以实现 Timer是jdk中提供的一个定时器工具,使用的时候会在主线程之外起一个单独的线程执行指定的计划任务,可以指定执行一次或者反复执行多次. 具体实现 ...

  10. python 根据 数据库创建java 文件

    #coding=utf-8 import pymysql import os import re # 包全路径 packagepath=r'E:\idea工程\dc-exam\dc-exam\src\ ...