为了账号安全,请及时绑定邮箱和手机立即绑定

从cmd.exe设置持久性环境变量

从cmd.exe设置持久性环境变量

杨__羊羊 2019-12-26 10:05:09
我必须在不同的Windows机器上设置环境变量,但是我不想通过进入“我的电脑”的属性屏幕来手动更改它们我想从命令行使用批处理文件来执行此操作。据我了解,使用set只会更改我将在命令窗口中调用的进程的变量。我想肯定地进行设置,因此稍后,当运行新进程时,它将使用我设置的那些新设置。有没有办法从命令行执行此操作?
查看完整描述

3 回答

?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

使用SETX命令(请注意'x'后缀)来设置在cmd窗口关闭后仍然存在的变量。


例如,设置一个值为“ bar”的环境变量“ foo”:


setx foo bar

尽管值得一读的是打印用法(setx /?)时显示的“注释”,尤其是:


2)在本地系统上,此工具创建或修改的变量将在以后的命令窗口中可用,但在当前的CMD.exe命令窗口中不可用。


3)在远程系统上,此工具创建或修改的变量将在下一次登录会话时可用。


在PowerShell中,[Environment] :: SetEnvironmentVariable命令。


查看完整回答
反对 回复 2019-12-26
?
皈依舞

TA贡献1851条经验 获得超3个赞

有关环境变量的MSDN文档告诉您该怎么做:


要以编程方式添加或修改系统环境变量,请将它们添加到HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ Session Manager \ Environment注册表项中,然后广播将lParam设置为字符串“ Environment” 的WM_SETTINGCHANGE消息。这使应用程序(例如外壳程序)可以获取您的更新。


您当然需要管理员权限才能执行此操作。我不知道从Windows批处理中广播Windows消息的方法,因此您需要编写一个小程序来执行此操作。


查看完整回答
反对 回复 2019-12-26
  • 3 回答
  • 0 关注
  • 514 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信