我想向Windows计算机(台式机或服务器)添加一个Environment变量,并且无需重启该计算机即可使用它。
假设您有一个托管各种应用程序的生产服务器,而一个新应用程序需要运行特定的环境变量。当用户连接到其他应用程序时,您不想重新启动它。您有什么选择?我不喜欢等待良好的时间来重新启动选项。一定会有更好的办法。我想念什么?
我想向Windows计算机(台式机或服务器)添加一个Environment变量,并且无需重启该计算机即可使用它。
假设您有一个托管各种应用程序的生产服务器,而一个新应用程序需要运行特定的环境变量。当用户连接到其他应用程序时,您不想重新启动它。您有什么选择?我不喜欢等待良好的时间来重新启动选项。一定会有更好的办法。我想念什么?
Answers:
如果通过相关计算机的“属性”主对话框进行更改,则对环境变量的更改应立即生效(转到“我的电脑” |“属性” |“高级” |“环境变量”)。保存更改后,资源管理器会WM_SETTINGCHANGE
向所有窗口广播一条消息,以通知他们更改。在此之后通过资源管理器生成的任何程序都应该获得更新的环境,尽管已经运行的程序不会,除非它们处理设置更改消息。
我不能从您的问题描述中看出您遇到的具体问题。您能告诉我们更多有关无法正常工作的特定情况的信息吗?
该知识库文章也可能有用:如何将环境变量传播到系统
runas /user:yourusername@yourdomain cmd
taskkill /f /im explorer.exe
explorer.exe
现在,在关闭所有命令提示符后,您将看到该PATH
变量已真正更新。
必须关闭所有命令提示符。重新打开新的命令提示符,键入path,您将看到新数据。
ctrl+alt+shift
。这将干净地退出Windows资源管理器。在Vista +中,很难找到“关闭窗口”对话框(但至少在7之前仍然存在(不确定8和10)),因此有第二种方法。Ctrl + Shift +右键单击开始菜单的空白部分,然后选择退出浏览器。在8中,退出选项相同,但是您使用任务栏而不是开始菜单。
要记住的一件事是,许多程序在首次启动时都会获取环境变量,因此,尽管Windows可能不需要重新启动,但某些程序可能需要先使用新变量。一个很好的例子是在添加PATH之后必须打开一个新的命令提示符窗口(是的,我为此而被绊倒了)。
尽管我没有足够的声誉来评论这个问题的最高投票答案,但我想指出这并不完全正确。我知道这一点是因为无论我在这篇文章中尝试了哪种解决方法,都没有任何实际效果。
但是,请注意,修改环境变量不会立即导致更改。例如,如果在进行更改后启动另一个“命令提示符”,则环境变量将反映先前(而非当前)的值。在您注销然后重新登录之前,更改不会生效。
重新加载命令提示符后有关环境变量重置为先前值的部分正是我在Windows Server 2008中所经历的。
文章继续说:
要实现这些更改而不必注销,请向系统中的所有窗口广播WM_SETTINGCHANGE消息,以便任何感兴趣的应用程序(例如Windows资源管理器,程序管理器,任务管理器,控制面板等)都可以执行更新。
这并不意味着一旦您更改了系统环境变量,Explorer就会广播WM_SETTINGCHANGE消息,或者它实际上是有效的。我不确定您将如何执行命令提示符下的知识库文章(建议立即传播更改)中的建议。
使环境。变量立即可用:
1. Open a shell
根据您要更改的环境变量,执行以下操作:(假设您要为最近安装的应用程序添加新的PATH)因此,在shell提示符下,键入以下内容:
2. PATH=%PATH%;C:\type\your\new\path\here
检查新路径是否已添加到环境变量中
3. echo %PATH%
做完了
使变量在重新启动时可用
1. Press WinLogoKey+Pause/Break
2. On the left pane, press 'Advanced System Settings'
3. On the 'Advanced' tab, click 'Environment Variables'
4. In 'System Variables' choose the one you want to modify
5. Click Ok
经过测试并在Windows 7/10上工作