如何在不重新启动的情况下添加 Windows 环境变量?

如何在不重新启动的情况下添加 Windows 环境变量?

我想向 Windows 机器(桌面或服务器)添加环境变量,并且无需重新启动该机器即可使用它。

假设您有一台托管各种应用程序的生产服务器,而新应用程序需要特定的环境变量才能运行。您不想在用户连接到其他应用程序时重新启动它。您有什么选择?我不喜欢等待合适的时间再重新启动的选项。一定有更好的方法。我遗漏了什么?

答案1

如果您通过相关计算机的主“属性”对话框进行更改(转到“我的电脑”|“属性”|“高级”|“环境变量”),则对环境变量的更改应立即生效。保存更改后,Explorer 会WM_SETTINGCHANGE向所有窗口广播一条消息,通知它们更改。此后通过 Explorer 生成的任何程序都应获得更新的环境,但已运行的程序则不会,除非它们处理设置更改消息。

我无法从您的问题描述中判断您遇到了什么具体问题。您能告诉我们更多关于无法正常工作的具体情况吗?

此知识库文章也可能有用:如何将环境变量传播到系统

答案2

  1. 在命令提示符中输入:runas /user:yourusername@yourdomain cmd
  2. 它将打开一个新的 cmd 提示符,然后输入: taskkill /f /im explorer.exe
  3. 然后输入:explorer.exe

现在关闭所有命令提示符后,您将看到PATH变量已真正更新。

必须关闭所有命令提示符。重新打开一个新的命令提示符,输入路径,您将看到新数据。

答案3

需要记住的一点是,许多程序在首次启动时会获取环境变量,因此虽然 Windows 可能不需要重新启动,但有些程序可能需要重新启动才能使用新变量。一个很好的例子就是在添加 PATH 后必须打开一个新的命令提示符窗口(是的,我被这个问题难倒了)。

答案4

由于人们还没有添加这个答案,我想提一下,你可以设置永久的系统变量,这些变量在重启后仍然存在命令SETX

例如

setx PATH "%PATH%;c:\temp\my\new\path"

请注意,上述操作在当前命令窗口中不起作用,需要您打开新的命令窗口才能生效。因此,根据使用情况,您可能需要将其与上述其他技术之一结合使用。

相关内容