博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
注册表设置环境变量
阅读量:4589 次
发布时间:2019-06-09

本文共 2613 字,大约阅读时间需要 8 分钟。

注册表设置环境变量
2008-05-12 15:58

REG ADD KeyName [/v ValueName | /ve] [/t Type] [/s Separator] [/d Data] [/f]

KeyName [\\Machine\]FullKey
           远程机器的机器名 - 忽略默认到当前机器。
                    远程机器上只有 HKLM 和 HKU。
           FullKey ROOTKEY\SubKey
           ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]
           SubKey   所选 ROOTKEY 下注册表项的完整名

/v       所选项之下要添加的值名

/ve      为注册表项添加空白值名<无名称>

/t       RegKey 数据类型
           [ REG_SZ    | REG_MULTI_SZ | REG_DWORD_BIG_ENDIAN    |
             REG_DWORD | REG_BINARY    | REG_DWORD_LITTLE_ENDIAN |
             REG_NONE | REG_EXPAND_SZ ]
           如果忽略,则采用 REG_SZ

/s       指定一个在 REG_MULTI_SZ 数据字符串中
           用作分隔符的字符
           如果忽略,则将 "\0" 用作分隔符

/d       要分配给添加的注册表 ValueName 的数据

/f       不用提示就强行改写现有注册表项

例如:

REG ADD 
    添加远程机器 ABC 上的一个注册表项 HKLM\Software\MyCo

REG ADD HKLM\Software\MyCo /v Data /t REG_BINARY /d fe340ead
    添加一个值(名称: Data,类型: REG_BINARY,数据: fe340ead)

REG ADD HKLM\Software\MyCo /v MRU /t REG_MULTI_SZ /d fax\0mail
    添加一个值(名称: MRU,类型: REG_MUTLI_SZ,数据: fax\0mail\0\0)

REG ADD HKLM\Software\MyCo /v Path /t REG_EXPAND_SZ /d %%systemroot%%
    添加一个值(名称: Path,类型: REG_EXPAND_SZ,数据: %systemroot%)
    注意: 在扩充字符串中使用双百分比符号( %% )

添加系统环境变量visual 值为vim, 不过加了之后在命令行用set 还是看不到,需要注销一下或者重启动explorer进程。
reg add "hklm\system\currentcontrolset\control\session manager\environment" /v visual /t REG_SZ /d vim

导出环境变量到env.reg
reg export "hklm\system\currentcontrolset\control\session manager\environment" env.reg

显示注册表系统环境变量:
reg query "hklm\system\currentcontrolset\control\session manager\environment"

使用VBS

dim wsh

Set wsh = WScript.CreateObject("WScript.Shell")

wsh.Environment("system").Item("<变量名>")="<值>"
或使用使用REG
set regpath=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

::系统环境变量

::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

::用户环境变量

::HKEY_CURRENT_USER\Environment

reg add "%regpath%" /v "<name>" /d "<data>"
将上面的<>内容替成你需要定义的名称和值就可以了.

来源:
大部分情况下我们都是通过Windows自带的环境变量编辑器来修改系统环境变量,也可以通过Windows系统提供的path,set两个命令临时修改。

使用系统编辑器修改环境变量最终会反映到注册表中保存,我们知道环境变量分为两种,用户变量,以及系统变量,其存储的位置分别位于:

系统变量:
[HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment]
[HKLM\SYSTEM\ControlSet002\Control\Session Manager\Environment]
[HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment]

用户变量:
[HKCU\Environment]

其中HKLM = HKEY_LOCAL_MACHINE,HKCU = HKEY_CURRENT_USER

ControlSet001/ControlSet002/CurrentControlSet保存用于系统启动的重要配置信息,其中CurrentControlSet指向ControlSet001,两者互相同步,每次针对两者中任意一个分支的修改都会立即复制到另外一个分支相对应的键值中。

当系统启动时,会使用其中一个分支的信息以尝试启动系统,这个就是ControlSet001,如果启动成功,那么ControlSet001的信息会复制到ControlSet002中。如果启动失败,那么就不会发生这个复制过程。

当系统因某些原因无法启动时,我们通常会使用“Using the Last Known Good Configuration”来尝试启动系统,也就是“最后一次正确的配置”(启动时按住F8),这时系统使用的就是ControlSet002分支的配置信息。

转载于:https://www.cnblogs.com/bulemaple/articles/3521170.html

你可能感兴趣的文章
IIS的安装及网站发布的图解
查看>>
VM虚拟机安装苹果雪豹操作系统
查看>>
dos进去mysql导入数据库
查看>>
Oracle单表去重复(一)
查看>>
C#中如何获取一个二维数组的两维长度,即行数和列数?以及多维数组各个维度的长度?...
查看>>
JSON字符串互相转换的三种方式和性能比较
查看>>
C++中cout输出字符型指针地址值的方法
查看>>
Java运算符法则
查看>>
深入理解java异常处理机制
查看>>
SQL---规则篇
查看>>
windows下配置Tomcat7.0.22
查看>>
Perl中命令行参数以及打开管道文件
查看>>
习题 11 提问
查看>>
2018-07-05-Python全栈开发day25-python中的继承
查看>>
MySQL 数据类型(转贴)
查看>>
Maven 常用命令
查看>>
Java注解知识点摘抄
查看>>
决战Leetcode: easy part(1-50)
查看>>
数组中出现次数超过一半的数字
查看>>
图像边缘检测
查看>>