windows通过批处理设置环境变量

CreateTime--2017年8月4日11:28:11
Author:Marydon

参考链接:https://wenku.baidu.com/view/ae132fa103d276a20029bd64783e0912a2167c11.html

一、系统变量

  1.添加系统变量

    1.1 设置变量值为路径

    举例:设置JAVA_HOME环境变量

    方式一:变量值使用绝对路径

@echo off
:: 设置JDK环境变量JAVA_HOME
wmic ENVIRONMENT create name="JAVA_HOME",username="<system>",VariableValue="D:\ProgramFiles(x86)\Java\jdk1.7.0_79"
echo %JAVA_HOME%
pause

    方式二:变量值使用相对路径

@echo off
:: 设置JDK环境变量JAVA_HOME
wmic ENVIRONMENT create name="JAVA_HOME",username="<system>",VariableValue="%~dp0jdk1.7.0_79"
echo %JAVA_HOME%
pause 

    将上面代码复制到txt文件中,路径改成你的jdk安装路径,保存后,名称随意(如:JAVA_HOME),双击运行-->win+r-->输入sysdm.cpl-->高级-->环境变量-->在系统变量中即可看到

    构成:

      name用于指定环境变量名称,username用于指定环境变量的属性:临时变量/系统变量,VariableValue用于指定环境变量所对应的值,都是固定用法

    区别:

    方式一对于Java程序的安装路径的要求比较高,即变量值对应的值必须与Java的安装路径完全一致,但是对于该bat文件存放在哪个位置无关;

    方式二的%~dp0表示批处理文件所在的文件夹的路径,即:D:\ProgramFiles(x86)\Java;

    方式二对于Java程序的安装路径没有要求,但是对于该bat文件存放位置有很大要求,该bat文件存放在Java文件夹下,

    所以JAVA_HOME="%~dp0jdk1.7.0_79",“%~dp0”和“jdk1.7.0_79”之间不用加“\”;

    如果还是不明白,请自行百度绝对路径与相对路径的区别

    1.2 设置变量值为死值

    举例:设置PLSQL的环境变量NLS_CHARACTERSET和NLS_LANG

@echo off
:: 设置PLSQL的环境变量NLS_CHARACTERSET
wmic ENVIRONMENT create name="NLS_CHARACTERSET",username="<system>",VariableValue="AL32UTF8"
echo %NLS_CHARACTERSET%
:: 设置PLSQL的环境变量NLS_LANG
wmic ENVIRONMENT create name="NLS_LANG",username="<system>",VariableValue="AMERICAN_AMERICA.AL32UTF8"
echo %NLS_LANG%
pause

    保存成bat文件后,双击运行即可。

  2.删除环境变量

@echo off
:: 删除JDK环境变量JAVA_HOME
wmic ENVIRONMENT where name="JAVA_HOME" delete
pause

  3.修改环境变量

@echo off
:: 更新环境变量JAVA_HOME的值
wmic ENVIRONMENT where "name='JAVA_HOME' and username='<system>'" set VariableValue="test"
echo %JAVA_HOME%
pause

  注意:

    where 关键字后跟的参数必须是一个连续的字符串,如果参数字符串含有空格需要用英文双引号 " 将参数括起来;

    若字符串中有多个限定词,比如既有 name 又有 username,则需要使用 and 关键字来连接这些限定词。      

二、临时变量

  1.添加临时变量

set password=123

  将其保存成bat文件后,双击运行即可

  说明:临时变量只在当前窗口有效,一旦关闭,就会消失

三、结语

  1.使用 wmic 命令修改环境变量是永久性的,而使用 set 命令修改环境变量是只针对当前命令行环境的临时修改;

  2.pause-->终止命令执行,不关闭窗口(可以查看执行结果);exit-->终止命令执行并关闭执行窗口;

  3.查看环境变量通常通过DOS窗口通过set +变量名称查看;

  4.使用批处理改变环境变量,需要重启资源管理器或注销或重启后才能生效;

  5.与其配置JAVA_HOME环境变量,再将其配置到Path中,不如直接在Path添加jdk的环境(编译&运行)

  错误方式:在path最前面添加配置

@echo off
:: 在Path最前面添加JDK环境(编译&运行)
wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="%~dp0jdk1.7.0_79\bin;%path%"
echo %path%
pause

  打开进入命令窗口,输入set path,重启前:

  重启资源管理器后结果展示:

  

  解说:

    如图所示,通过命令的方式实现在Path最前面添加内容虽然实现了,但是会添加两次,因此不推荐使用,想要实现,需要到环境变量管理中手动进行配置

  正确方式:在path最后面添加配置

  最佳方式:在path最后面添加配置并重启资源管理器

@echo off
:: 在Path最前面添加JDK环境(编译&运行)
wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="%path%;%~dp0jdk1.7.0_79\bin"
echo %path%
:: 重启资源管理器
taskkill /f /im explorer.exe
start explorer.exe
exit 

  效果展示:

 

windows 批处理设置环境变量的更多相关文章

  1. 在Windows下设置环境变量 运行mysql程序变得更容易

    在Windows下设置环境变量,点开始菜单,右键单击我的电脑--属性--高级--环境变量 可以看到PATH的变量是这样的: C:\WINDOWS;C:\WINDOWS\COMMAND   为了让运行m ...

  2. linux和windows中设置环境变量经常使用命令

    Linux和Windows下查看环境变量方法 一.查看全部环境变量的名称和值: Linux下:export Windows下:set 二.依据名称查该环境变量的值: Linux下:echo $环境变量 ...

  3. Windows一键设置环境变量(以设置java环境变量为例)

    右击以管理员方式运行 JDKSetting.bat   @echo off color 0a echo.------------------------------------ echo.TODO:设 ...

  4. windows下使用批处理设置环境变量

    1. 设置临时环境变量 set BAT_HOME=c:\bat 此命令只对当前窗口有效,批处理或cmd窗口一关闭,变量就恢复原来的值了. 2. 设置永久环境变量 方法一 setx BAT_HOME C ...

  5. Linux/windows查看设置环境变量指令

    一.Linux: 1.查看所有环境变量的指令 方法1:$:export (export命令作用是显示.设置或删除linux环境变量:) 方法2:$:env 2.查看某个指定的环境变量 方法1:$:ex ...

  6. MySQL在Windows中设置环境变量

    在桌面选择“计算机”的图标(或者是我的电脑),右键-->属性-->点击“高级系统设置” 然后选择 高级  选项点击环境变量 然后点击新建-> 变量名为MYSQL_HOME 变量值为m ...

  7. Linux程序写入oralce数据库中文显示为问号??? 代码实现设置环境变量!

    Linux程序写入oralce数据库中文显示为问号??? 1.问题介绍 根本原因是字符集的问题,是数据库的字符集和写入程序的linux系统的字符集不一致导致: 但是用export NLS_LANG=& ...

  8. 在package.json里面的script设置环境变量,区分开发及生产环境。注意mac与windows的设置方式不一样

    在package.json里面的script设置环境变量,区分开发及生产环境. 注意mac与windows的设置方式不一样. "scripts": { "publish- ...

  9. Linux和Windows下查看、设置环境变量的比较

    [一]查看环境变量: 1.windows 查看所有的变量:set    范例:>set    查看某个变量的值:set 环境变量名    范例:     >set JAVA_HOME    ...

随机推荐

  1. 如何在IE11中开启WebGL暨微软和WebGL的恩怨情仇录

    正如我们上周报道的,国外开发者Francois Remy在泄露版Windows Blue附带的Internet Explorer 11中发现,WebGL接口已经封装完成,但功能上还未能开放支持.在这之 ...

  2. C#程序集系列01,用记事本编写C#,IL代码,用DOS命令编译程序集,运行程序

    本篇主要体验:编写C#,IL代码,用"VS2012开发人员命令提示"编译成程序集,并运行程序. □ C#文件编译为程序集 →在F盘创建as文件夹→在as文件夹下创建MyClass. ...

  3. Bootstrap 3之美04-自定义CSS、Theme、Package

    本篇主要包括: ■  自定义CSS■  自定义Theme■  自定义Package 自定义CSS 有时候,需要自定义或重写Bootstrap默认的CSS.→在css文件夹下创建一个site.css→假 ...

  4. Spring使用环境变量控制配置文件加载(转)

    项目中需要用到很多配置文件,不同环境的配置文件是不一样的,因此如果只用一个配置文件,势必会造成配置文件混乱,这里提供一种利用环境变量控制配置文件加载的方法,如下: 一.配置环境变量 如果是window ...

  5. NPOI读取Excel日期类型单元格返回一串数字问题

    public string getCellStringNEW(int row, int column) { try { ICell cell = xlSheet.GetRow(row).Cells[c ...

  6. springboot2.X 在项目启动后执行一段自定义代码

    场景: 项目需要在项目启动后从数据库初始化一些数据进入redis , 但是没有很适合 的监听器去实现 , 监听 老是在dao初始化之前触发. 解决方法:自定义类实现 ApplicationRunner ...

  7. 算法:基于 RingBuffer 的 Queue 实现

    背景 如果基于数组实现队列,常见的选择是采用 RingBuffer,否则就需要移动数组元素. RingBuffer 很容易看出 RingBuffer 的思想,这里就不赘述了. 您可以思考一个问题:图中 ...

  8. python测试开发django-10.django连接mysql

    前言 Django 对各种数据库提供了很好的支持,包括:PostgreSQL.MySQL.SQLite.Oracle.本篇以mysql为例简单介绍django连接mysql进行数据操作 Django连 ...

  9. OpenCL 获取Program信息

    本程序生成一个OpenCL Program,然后获取Program的source,事实上它的source就是一个char[],能够打印出来. 然后我们把这些内容和原来文本的内容对照,看看是否是我们想要 ...

  10. Java数据库编程技术

    1. 建立数据库连接 例1.1 使用JDBC-ODBC桥来连接一个Access数据库. 该数据库的名称为FirstExample,在ODBC数据源中的名称为forStudy,用户名和密码均为空. pa ...