三种方式
1) 这将为用户环境变量运行 GUI 编辑器。它完全符合 OP 的要求,并且不会提示输入管理凭据。
rundll32.exe sysdm.cpl,EditEnvironmentVariables
(奖励:这适用于适用于桌面的 Windows Vista 到 Windows 10 以及 Windows Server 2008 到 Server 2016。它不适用于 Windows NT、2000、XP 和 2003。但是,在较旧的系统上,您可以使用 sysdm。 cpl 不带“,EditEnvironmentVariables”参数,然后导航到“高级”选项卡,然后导航到“环境变量”按钮。)
2) 在命令提示符下使用 SETX 命令。这类似于 set 命令,但会更新存储在注册表中的环境。不幸的是,SETX 不像内置的 SET 命令那么容易使用。例如,无法列出变量。因此,不可能执行诸如将文件夹附加到用户的 PATH 变量之类的操作。虽然 SET 将显示您不知道哪些是用户变量与系统变量的变量,而显示的 PATH 是两者的组合。
3) 使用 regedit 并导航到 HKEY_CURRENT_USER\Environment
请记住,对用户环境的更改不会立即传播到当前为该用户运行的所有进程。您可以在命令提示符中看到这一点,如果您使用 SET,您的更改将不可见。例如
rem Add a user environment variable named stackoverflow that's set to "test"
setx stackoverflow test
set st
这应该显示名称以字母“st”开头的所有变量。如果没有,则显示“Environment variable st not defined”。
退出命令提示符并启动另一个。再次尝试set st
你会看到
stackoverflow=test
要删除 stackoverflow 变量,请使用
setx stackoverflow ""
它会以“SUCCESS: Specified value was saved.”响应,如果你想删除变量,这看起来很奇怪。但是,如果您启动一个新的命令提示符,那么set st 将显示没有以字母“st”开头的变量
(更正 - 我发现setx stackoverflow "" 没有删除该变量。它在注册表中是一个空字符串。SET 命令虽然将其解释为好像没有变量。if not defined stackoverflow echo Not defined 说它没有定义。 )