在较旧版本的Windows中,只需打开控制面板,选择“系统”小程序,选择“高级”选项卡,然后单击“环境变量”按钮。作为普通用户,您可以编辑“用户变量”,但不能编辑“系统变量”。
在Windows Server 2008 R2中,如果我尝试点击系统小程序中的“高级系统设置”选项,它将提示您输入管理员密码。
Answers:
您还可以使用此直接命令行打开“高级系统属性”:
sysdm.cpl
然后转到高级选项卡->环境变量
分步说明:
在命令行提示符下:
set __COMPAT_LAYER=RUNASINVOKER
SystemPropertiesAdvanced.exe
现在,您可以设置用户环境变量。
有三种方法
1)这将为用户环境变量运行GUI编辑器。它确实执行OP想要做的事情,并且不提示输入管理凭据。
rundll32.exe sysdm.cpl,EditEnvironmentVariables
(奖金:这适用于Windows Vista到Windows 10的台式机以及Windows Server 2008到Server2016。它不适用于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
但未定义。)