小编Rom*_*man的帖子

Windows 环境变量和手动注册表编辑 - 无/错误值问题

打开regedit.exe,导航到HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment。创建两个环境变量:

Name   Type            Data
-----  --------------  -----------
zbar   REG_SZ          water
zfoo   REG_EXPAND_SZ   %zbar%
Run Code Online (Sandbox Code Playgroud)

打开新的cmd.exepowershell.exe或者什么。缺少这些变量。注销,然后登录。在cmd.exe窗口类型echo %zbar%-water显示。键入echo %zfoo%%zbar%已显示,但我希望看到扩展值 - water

现在。打开 Windows环境变量对话框。更改或创建任何变量(例如zzz=zzz)。重新打开cmd.exe并输入echo %zfoo%- 现在您看到了water

实际上,我正在使用 PowerShell 脚本创建这些变量。但是这个脚本所做的只是描述了注册表操作。

问题:

  1. 如何zfoo通过打开 Windows环境变量对话框并更改一些变量来强制变量具有正确的值而没有这种魔力?也许我应该调用一些 API,比如[Microsoft.Win32.Registry]::Refresh()
  2. 是否可以在不需要注销/登录操作的情况下使这些变量对用户可见?如果我编辑用户级环境变量(也在注册表中),它们会立即可用,但对于全局变量——它们不是。

谢谢。

windows environment-variables

4
推荐指数
1
解决办法
4219
查看次数

标签 统计

environment-variables ×1

windows ×1