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. 深入浅出-网络七层模型&&网络数据包

    网络基本概念 OSI模型 OSI 模型(Open System Interconnection model)是一个由国际标准化组织

  2. java基础学习总结——对象转型

    一.对象转型介绍 对象转型分为两种:一种叫向上转型(父类对象的引用或者叫基类对象的引用指向子类对象,这就是向上转型),另一种叫向下转型.转型的意思是:如把float类型转成int类型,把double类 ...

  3. golang slice切片的原理以及内置函数cap, len

    golang中slice(切片)是常用的类型, slice是对数组进行封装 package main import ( "fmt" "strconv") fun ...

  4. org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'multipart/form-data;boundary=----WebKitFormBoundaryRAYPKeHKTYSNdzc1;charset=UTF-8' not supported

    原文:https://www.cnblogs.com/yueli/p/7552888.html 最近同事在做一个图片上传功能.在入参 body 中同时传入文件和其它基本信息结果出现如题异常.在此记录下 ...

  5. iOS内存优化及排查方法

    1.IBOutlet 对象需要release 2.不停的往UIView,特别是UIScrollView上add相同SubView.一定要记得清除之前的SubView,并且在dealloc函数中执行该方 ...

  6. arcgis10.5新功能图形缓冲

    摘要 在输入要素周围某一指定距离内创建缓冲区多边形.在要素周围生成缓冲区时,大部分制图形状对缓冲区末端(端头)和拐角(连接)可用. 插图  

  7. mysql的TABLE_SCHEMA的sql和information_schema表, MySQL管理一些基础SQL语句, Changes in MySQL 5.7.2

    3.查看库表的最后mysql修改时间, 如果第一次新建的表可能还没有update_time,所以这里用了ifnull,当update_time为null时用create_time替代 select T ...

  8. C# 指南

    C# 指南提供了许多有关 C# 语言的资源. 此网站面向许多不同的受众群体. 你可能希望探索本指南的不同部分,具体视你的编程经验或 C# 语言和 .NET 使用经验而定. 对于从未接触过编程的开发者: ...

  9. 读取siftgeo格式文件的matlab程序

    % This function reads a siftgeo binary file %读取siftgeo格式的二进制文件 % % Usage: [v, meta] = siftgeo_read ( ...

  10. 【HDOJ】【1964】Pipes

    插头DP 做完Formula 1以后这就是傻逼题了……直接将“数路径方案数”改为“计算路径长度取最小值”即可,没多大难度 都不用判当前格子是否能够到达的……不过!外边的一圈“墙”还是要加的!不然会有冗 ...