欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > Windows 使用set和setx设置环境变量(skywalk3)

Windows 使用set和setx设置环境变量(skywalk3)

2025/5/3 16:01:41 来源:https://blog.csdn.net/skywalk8163/article/details/147637051  浏览:    关键词:Windows 使用set和setx设置环境变量(skywalk3)

在Windows中,设置环境变量可以使用set和setx。

set设置环境变量

直接使用set设置即可:

E:\>set OPENAI_API_KEY="你的API易平台密钥"E:\>set OPENAI_API_BASE="http://192.168.1.5:1337/v1"

让我们看看是否设置成功:

echo %OPENAI_API_KEY% %OPENAI_API_BASE%
"你的API易平台密钥"  "http://192.168.1.5:1337/v1"

可见设置成功!

setx永久设置环境变量

要永久设置,需要用

setx OPENAI_API_KEY "your-api-key-here"

另外也可以使用开始菜单的“设置”-“系统”-“关于”--“高级系统设置”,找到“环境变量”设置按钮,然后进行环境变量的设置,参考:Windows设置环境变量的方法-CSDN博客

来个更详细的介绍set和setx

在 Windows 命令行环境中,set 和 setx 都是用来设置环境变量的命令,但它们之间有关键的区别,影响了它们的使用场景和作用范围:

1. set 命令

  • 作用: 用于设置或显示当前命令行会话的环境变量。
  • 作用范围: 仅对当前打开的 cmd.exe(命令提示符)窗口有效。一旦你关闭该窗口,用 set 命令设置的环境变量就会失效。
  • 语法:
    • set 变量名=变量值 (设置变量)
    • set 变量名 (显示特定变量的值)
    • set (显示所有环境变量)
  • 用途: 主要用于临时设置变量,方便在当前命令行会话中进行操作,例如:
    • 设置临时的程序路径
    • 定义脚本中使用的变量
    • 修改当前会话的环境变量

2. setx 命令

  • 作用: 用于设置永久性的环境变量,这些变量会写入到注册表中,对所有未来的命令行会话、甚至是运行的程序都有效。
  • 作用范围: 设置的环境变量会保存在注册表中,影响整个系统(或当前用户)。
  • 语法:
    • setx 变量名 "变量值" /M (以管理员权限设置系统变量,影响所有用户)
    • setx 变量名 "变量值" (设置用户变量,仅影响当前用户)
    • setx 变量名 (从文件读取变量值,不常用)
  • 用途: 主要用于设置需要长期生效的环境变量,例如:
    • 设置 JDK 的安装路径 (JAVA_HOME)
    • 将程序添加到系统路径 (PATH),方便在任何地方运行
    • 配置长期使用的环境变量

总结:

特性setsetx
作用范围当前命令行会话永久性,影响系统或用户
持久性临时的,关闭窗口失效永久的,保存在注册表中
影响仅影响当前 cmd.exe影响所有未来的 cmd.exe 和运行的程序
使用场景临时性操作,脚本内部变量设置需要长期生效的环境变量
需要管理员权限设置系统变量需要

注意事项:

  • 使用 setx 修改环境变量后,需要重新打开命令行窗口才能生效。已经运行的程序可能需要重启才能读取新的环境变量。
  • 修改系统环境变量需要管理员权限。
  • setx 命令的值必须用双引号括起来,特别是包含空格或特殊字符时。
  • 不建议频繁使用 setx 修改环境变量,因为频繁写入注册表可能会影响系统性能。

示例:

rem 使用 set 命令,只在当前会话有效
set TEMP_DIR=C:\temprem 使用 setx 命令,永久生效
setx JAVA_HOME "C:\Program Files\Java\jdk1.8.0_202" /M  // 需要管理员权限,影响所有用户
setx MY_VAR "My Value with Spaces"  // 影响当前用户

记住,谨慎使用 setx,特别是修改系统环境变量时,错误的配置可能会导致系统问题。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词