我想使用路径管理器以方便的方式从 PATH 环境变量中禁用/启用给定的路径。
我正在尝试禁用该路径C:\programming\python\WinPython-32bit-2.7.9.3\python-2.7.9
,因此我取消选中相应的“活动”和“系统”框,然后点击保存按钮:
然后我启动了一个新的 cmd.exe 窗口,但是我看仍然C:\programming\python\WinPython-32bit-2.7.9.3\python-2.7.9
在路径中:
我检查了用户和系统的 PATH 变量,它们不再包含 C:\programming\python\WinPython-32bit-2.7.9.3\python-2.7.9
。
我错过了什么?
答案1
我刚刚检查了源代码。该程序只是编辑了包含PATH
信息的注册表项 -> SYSTEM\CurrentControlSet\Control\Session Manager\Environment\path
我没有看到任何命令来告诉操作系统密钥已更改。因此,似乎确实需要重新启动。可以在此处找到一个选项:https://stackoverflow.com/questions/3189652/using-rundll32-user32-dll-to-indicate-that-a-users-environment-has-changed
另一个问题:单击active
复选框时,更改不会保存。并且保存按钮保持禁用状态。
摘要:工作原理:
- 单击
active
复选框(这是你真正想要的) - 添加任何新路径(现在保存按钮已启用)
- 单击保存(现在更改存储在注册表中)
- 打开 PowerShell 窗口
- 类型
[Environment]::SetEnvironmentVariable("dummy","anyValue","User")
(最后一个值可以是Machine
,User
或Process
。这会向系统发送更新环境广播) - 打开新的 cmd 并输入
echo %path%
(或使用where
)(现在可以看到 1. 中的变化)
所以,使用起来PATH Manager
一点都不舒服。但是,您可以使用 PowerShell 脚本进行编辑PATH
并立即应用更改 -->http://poshcode.org/3537