windows的环境变量有两套:

  • 系统的
  • 当前用户的

不同的用户可以拥有不同的环境变量,当前用户的环境变量优先级比系统的环境变量优先级高,PATH环境变量比较特殊,它不是替换而是拼接。

在命令行下也可以修改环境变量,但是却需要管理员权限,且此过程可能会被安全软件拦截。下面介绍两个命令:

  • set x=13

    只在当前会话下有效,这种方式也是最鼓励采用的方式,因为这样能够降低不同软件之间发生冲突的概率。
  • setx x 13

    注意,这句话中没有等号,setx命令会把x这个环境变量添加到当前用户的环境变量中去,不影响系统环境变量。使用setx /?可以查看这个命令的详情。

setx在用户或系统环境创建或修改环境变量。能基于参数、注册表项或文件输入设置变量。

有三种使用方式:

  • 语法 1:

    SETX [/S system [/U [domain]user [/P [password]]]] var value [/M]

  • 语法 2:

    SETX [/S system [/U [domain]user [/P [password]]]] var /K regpath [/M]

  • 语法 3:

    SETX [/S system [/U [domain]user [/P [password]]]] /F file {var {/A x,y | /R x,y string}[/M] | /X} [/D delimiters]

参数列表:

/S system 指定要连接到的远程系统。

/U [domain]user 指定应该在哪个用户上下文执行命令。

/P [password] 指定给定用户上下文的密码。如果省略则提示输入。

var 指定要设置的环境变量。

value 指定分配给环境变量的值。

/K regpath 指定变量是基于注册表项的信息而设置的。路径的格式应该是 hive\key...\value。例如 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName。

/F file 指定要使用的文本文件的文件名。

/A x,y 指定绝对文件坐标(线 X,项目 Y)作为在此文件里搜索的参数。

/R x,y string 指定有关“字符串”作为搜索参数的相对文件坐标。

/M 指定应该在系统 (HKEY_LOCAL_MACHINE) 环境中设置此变量。在 HKEY_CURRENT_USER 环境下,默认将设置此变量。

/X 用 x,y 坐标显示文件内容。

/D delimiters 指定其他限定符,如 "," 或 ""。内置分隔符是空格、制表符、回车和换行符。所有ASCII 字符都可作为限定符。限定符的最大数量,包括内置分隔符,是 15。

/? 显示此帮助消息。

注意: 1) SETX 在注册表中将变量写入主机环境。

  1. 在本地系统,用此工具创建或修改的变量将在以后的命令窗口可用,但在当前的 CMD.exe 命令窗口。

  2. 在远程系统,用此工具创建或修改的变量在下次登录会话可用。

  3. 有效的注册表项数据类型是 REG_DWORD,REG_EXPAND_SZ,REG_SZ和 REG_MULTI_SZ。

  4. 受支持的配置单元: HKEY_LOCAL_MACHINE (HKLM),HKEY_CURRENT_USER (HKCU)。

  5. 限定符区分大小写。

  6. REG_DWORD 的值是从注册表里以十进制格式提取出来的。

示例:

SETX MACHINE COMPAQ
SETX MACHINE "COMPAQ COMPUTER" /M
SETX MYPATH "%PATH%"
SETX MYPATH ~PATH~
SETX /S system /U user /P password MACHINE COMPAQ
SETX /S system /U user /P password MYPATH ^%PATH^%
SETX TZONE /K HKEY_LOCAL_MACHINE\System\CurrentControlSet\
Control\TimeZoneInformation\StandardName
SETX BUILD /K "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows
NT\CurrentVersion\CurrentBuildNumber" /M
SETX /S system /U user /P password TZONE /K HKEY_LOCAL_MACHINE\
System\CurrentControlSet\Control\TimeZoneInformation\
StandardName
SETX /S system /U user /P password BUILD /K
"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\
CurrentVersion\CurrentBuildNumber" /M
SETX /F ipconfig.out /X
SETX IPADDR /F ipconfig.out /A 5,11
SETX OCTET1 /F ipconfig.out /A 5,3 /D "#$*."
SETX IPGATEWAY /F ipconfig.out /R 0,7 Gateway
SETX /S system /U user /P password /F c:\ipconfig.out /X

windows修改环境变量的更多相关文章

  1. Windows系统上安装多个版本jdk,修改环境变量不生效

    本机已经安装了jdk1.6,而比较早期的项目需要依赖jdk1.5,于是同时在本机安装了jdk1.5和jdk1.6. 安装jdk1.5前,执行 java -version 得到java version ...

  2. windows 安装多个版本的jdk后修改 环境变量不起作用

    本机已经安装了jdk1.6,而比较早期的项目需要依赖jdk1.5,于是同时在本机安装了jdk1.5和jdk1.6. 安装jdk1.5前,执行java -version得到java version &q ...

  3. window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法

    window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法 本机已经安装了jdk1.7,而比较早期的项目需要依赖jdk1.6,于是同时在本机安装了jdk1.6和jdk1.7. 安装 ...

  4. 【转】windows7 修改环境变量 和 用不用重启电脑的讨论

      原文:http://www.cnblogs.com/zhenmingliu/archive/2013/02/21/2921396.html   先到我的电脑>属性>高级>环境变量 ...

  5. Linux系统下修改环境变量PATH路径的三种方法

    这里介绍Linux的知识,比如把/etc/apache/bin目录添加到PATH中有三种方法,看完之后你将学会Linux系统下如何修改环境变量PATH路径,需要的朋友可以参考下 电脑中必不可少的就是操 ...

  6. Windows系统 环境变量

    用户变量与系统变量 用户变量只对当前用户有效,而系统变量对所有用户有效.在检索命令时,系统变量会排在用户变量的前面.也就是说,如果两个地方都包含同一个命令,则优先执行系统变量指示路径下的命令. set ...

  7. 批处理,修改环境变量path的方法(加环境变量)

    方法一:批处理中,修改环境变量,一次性有效(也就是在当前的脚本中有效) CMD中运行 set path==%path%;d:/mypath 用 set path可以查看,当前的环境变量 方法二 :批处 ...

  8. Windows 下环境变量设置(命令行)

    0. 背景 查了一下 SETX 命令可以实现,先简单看了下帮助.以后再写一个实例. 1. SETX /?    输出内容: SetX 有三种使用方式: 语法 1: SETX [/S system [/ ...

  9. Linux修改环境变量的方法

    在Linux操作系统中,有时候跟着教程安装了一些软件,安装成功后,很高兴的准备运行该软件相应命令,但是偶尔会遇到”Command not found…“的提示.原因是因为你安装的软件需要设置环境变量才 ...

随机推荐

  1. 【RPC】跨语言-RPC框架

    跨语言-RPC框架 跨语言 rpc_百度搜索 (5 条消息)谁能用通俗的语言解释一下什么是 RPC 框架? - 知乎 跨语言RPC框架Hessian.Thrift.Protocol Buffer之间的 ...

  2. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二十六)Structured Streaming:WARN clients.NetworkClient: Error while fetching metadata with correlation id 1 : {my-topic=LEADER_NOT_AVAILABLE}

    问题描述: 我之前使用kafka的命令删除了改topic: ./kafka-topics.sh --delete --zookeeper [zookeeper server]  --topic [to ...

  3. OpenGL ES Shading Language中应尽量避免使用循环

      In addition to basic if-then-else statements, it is possible to write for, while, and do-while loo ...

  4. mysql 批量数据循环插入

    双重循环插入 DELIMITER ;; CREATE PROCEDURE test_insert() BEGIN DECLARE a INT DEFAULT 1; DECLARE b TINYINT ...

  5. sonarqube 5.6

    转载:https://www.jianshu.com/p/402987500bfd 一. 简介 Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量.通过插件形式,可以支持包括java,C ...

  6. var, object, dynamic的区别以及使用

    var, object, dynamic的区别以及使用 阅读目录: 一. 为什么是它们三个 二. 能够任意赋值的原因 三. dynamic的用法 四. 使用dynamic的注意事项 拿这三者比较的原因 ...

  7. NGUI 降低drawcall

    前置说明一: Unity中的drawcall定义: 每次引擎准备数据并通知GPU的过程称为一次Draw Call. Unity(或者说基本全部图形引擎)生成一帧画面的处理过程大致能够这样简化描写叙述: ...

  8. Python2.7.14安装和pip配置安装及虚拟环境搭建

    目录 前言 1 Python2.7.14安装 2 pip配置安装 3 虚拟环境安装   前言 今天在搭建阿里云服务器,需要安装Python相关环境,之前在本机都已经安装过两遍,今天又来安装一遍,安装具 ...

  9. 算法笔记_215:第六届蓝桥杯软件类校赛部分真题(Java语言B组)

    目录 1 题目一 2 题目二 3 题目三 前言:以下代码仅供参考,若有错误欢迎指正哦~ 1 题目一 java中提供了对正则表达式的支持. 有的时候,恰当地使用正则,可以让我们的工作事半功倍! 如下代码 ...

  10. 解决 nfs挂载错误wrong fs type, bad option, bad superblock

    yum install nfs-utils mount -t nfs 192.168.1.153:/taimei /taimei