当前位置: 首页 > news >正文

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,特别是修改系统环境变量时,错误的配置可能会导致系统问题。

相关文章:

  • 区块链+IoT:创新场景落地背后的技术攻坚战
  • 驱动开发系列56 - Linux Graphics QXL显卡驱动代码分析(三)显示模式设置
  • Java 实现socket VAD通讯客户端
  • (35)VTK C++开发示例 ---将图片映射到平面2
  • 目标检测中的损失函数(三) | SIoU WIoUv1 WIoUv2 WIoUv3
  • 硬件性能与能效比竞赛:解码 PC 硬件的 “速度与激情”
  • 云计算-容器云-服务网格Bookinfo
  • 云计算-容器云-部署jumpserver 版本2
  • 推荐免费的RVC模型下载网站
  • 开源无人机地面站QGroundControl安卓界面美化与逻辑优化实战
  • 如何在NGINX中实现基于IP的访问控制(IP黑白名单)?
  • 解构区块链身份认证:从ID到零知识证明的实战指南
  • 2025年五一数学建模A题【支路车流量推测】原创论文讲解
  • 笔试专题(十四)
  • shell_plus
  • xshell 左边的会话管理器不见怎么办?
  • [面试]SoC验证工程师面试常见问题(一)
  • Python智能体开发
  • 用Selenium开启自动化网页交互与数据抓取之旅
  • git问题记录-如何切换历史提交分支,且保留本地修改
  • 龙翔被撤销南京市人大常委会主任职务,此前已被查
  • 三家“券商系”公募同日变更掌门人,新董事长均为公司股东方老将
  • 乌方公布矿产协议详情:未提债务义务,包含美再援助条款
  • 俄罗斯纪念卫国战争胜利80周年阅兵式首次彩排在莫斯科举行
  • 首映|“凤凰传奇”曾毅:拍电影,我是认真的
  • 上海灵活就业人员公积金新政有哪些“创新点”?