我正在尝试设置 Windows 用户环境变量,然后通过批处理文件或脚本启动应用程序。但是,直到用户注销并重新登录后,环境变量才会设置为适当的值。(我认为更准确的描述是,直到下次登录后,应用程序才能使用新值。)
有没有办法在用户环境中设置变量以使其立即可用?
我这样做是因为这个程序的功能可以通过环境变量控制,并且用户在不同时间需要不同的功能。由于许可证限制,如果可能的话,我需要动态设置它。
谢谢,
格雷厄姆
答案1
最简单的方法是根本不设置环境变量,而是从设置该会话的环境变量的批处理文件运行应用程序。只有当变量存在时,它才会在下次登录前生效
答案2
您实际上在哪里设置变量?如果您在系统属性中设置它,它只会影响新的 shell 会话,而不会影响现有的会话……但实际上不需要注销/登录。
最好的选择是在启动应用程序的同一个批处理文件中设置变量。
答案3
如果您的用户是机器的管理员,那么您可以将所需的值合并到注册表中。然后运行批处理文件。
这将添加环境变量 MYENVIRON,其值为 MYVALUE
reg 添加“HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment”/v MYENVIRON /t REG_SZ /d MYVALUE /f