我该如何设置一个对当前会话有效的Windows用户环境variables?

我正在尝试设置Windows用户环境variables,然后通过batch file或脚本启动应用程序。 但是,直到用户注销并重新login之后,环境variables才会设置为适当的值。 (我认为更准确的描述是新的值在下一次login之后才能被应用程序使用。)

有没有办法在用户的环境中设置一个variables,以便它立即可用?

我这样做是因为这个程序的function可以通过环境variables来控制,用户在不同的时间需要不同的function。 由于许可限制,如果可能,我需要dynamic设置它。

谢谢,

格雷厄姆

最简单的方法是根本不设置环境variables,并从batch file运行应用程序,该文件为该会话设置环境variables。 只有variables存在,直到下次login才会生效

你在哪里设置variables? 如果你在系统属性中设置它,它只会影响新的shell会话,而不会影响现有的会话…但是真的,不需要注销/login。

您最好的select是将您的variables设置为启动应用程序的同一batch file。

如果你的用户是机器的pipe理员,那么你可以将你需要的值合并到registry中。 然后运行batch file。

这将添加值为MYVALUE的环境variablesMYENVIRON

reg添加“HKLM \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment”/ v MYENVIRON / t REG_SZ / d MYVALUE / f