有关如何执行此操作的文档可以在MSDN上找到。关键摘录是这样的:
要以编程方式添加或修改系统环境变量,请将它们添加到HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ Session Manager \ Environment注册表项中,然后广播一条WM_SETTINGCHANGE消息,其中lParam设置为字符串“ Environment”。这样,外壳程序之类的应用程序就可以获取你的更新。
你可以在评论中指出你很乐意仅修改每个用户的环境。通过编辑HKEY_CURRENT_USER \ Environment中的值来执行此操作。和以前一样,请确保你广播了一条WM_SETTINGCHANGE消息。
你应该能够使用JNI注册表类在Java应用程序中轻松地完成此操作。
你可以使用:
setx PATH "%PATH%;C:\\Something\\bin"
但是,setx
会将存储的字符串截断为1024个字节,可能会损坏PATH。
/M将更改PATHin HKEY_LOCAL_MACHINE
而不是HKEY_CURRENT_USER
。换句话说,是系统变量,而不是用户变量。例如:
SETX /M PATH "%PATH%;C:\your path with spaces"
你必须记住,新的PATH在你当前的中不可见cmd.exe
。