我装了个 nvs,想试一下,结果 cmd 里面不存在这个命令。
我看了下,环境变量里面是设置到了用户环境变量,而系统环境变量的 path 是没有的。
我谷歌搜了下,发现只能用 set 和 echo 的方式更新 [系统环境变量] 。而不能更新 [用户环境变量] 。
请问怎么操作呢?
1
zwy100e72 2019-05-10 00:45:30 +08:00
如果是命令行程序,只需要新建一个窗口就应该生效了。
生效之后还是需要用 set 验证下;或者 powershell 中访问 Env:\Path 验证下 |
2
Trim21 2019-05-10 00:46:26 +08:00
系统属性-高级选项卡-环境变量 (或者我 win10 直接搜索环境变量也可以)
然后上面的是用户变量下面的是系统变量 |
3
geelaw 2019-05-10 02:18:37 +08:00
set 改变的是进程的环境变量。
要更新用户的环境变量,你可以用 PowerShell 的 [System.Environment]::SetEnvironmentVariable 或者 sysdm.cpl 里面的编辑对话框( Cortana 搜索 Edit environment variables for your account 即可在不需要 UAC 的情况下打开这个对话框,或者使用命令 rundll32.exe sysdm.cpl,EditEnvironmentVariables )。 当然,你修改了环境变量之后应该 SendMessageTimeoutW(HWND_BROADCAST, WM_SETTINGCHANGE, 0, L"Environment", SMTO_ABORTIFHUNG, 5000, NULL) 通知所有的 app 环境变量已经发生了变化。当然我们知道 Windows 的世界里什么乱七八糟的软件都有,并不是所有的软件都会处理这个消息(也不是所有更新环境变量的软件都会发送这个消息),幸运的是 Explorer 会处理该消息,所以你只要打开另一个 cmd 即可获得更新后的环境变量。 为了应付所有书写很差的程序,你只要注销再登录,所有程序就会对环境变量的变化有反应。 |
4
agdhole 2019-05-10 03:36:26 +08:00
注销最方便
|
5
yidinghe 2019-05-10 07:12:11 +08:00 via Android
环境变量修改后本就不需要重启电脑,只要重启进程即可。命令行也是一样,用 setx 更新环境变量后只需关闭命令行再重新打开。
|
6
biggray0312 2019-05-10 07:28:43 +08:00 via Android
杀死所有并重建 explorer.exe 进程,之后新开的 cmd 里就有新变量了
|
7
newmind 2019-05-10 07:38:27 +08:00 via Android
cmd 关掉再打开
|
8
3CH0 2019-05-10 08:40:21 +08:00
重启 cmd
|
9
dinghmcn 2019-05-10 08:49:20 +08:00
重启资源管理器,命令行关了重开
|
10
orangutan92 OP @dinghmcn 试过了不行呢
|
11
orangutan92 OP @zwy100e72 新建没有用,你这个是看系统变量的吧
|
12
orangutan92 OP @geelaw [System.Environment]::SetEnvironmentVariable 没有用,我就是想不注销,然后新建 cmd 生效。
|