惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - Franky
WordPress大学
WordPress大学
Hugging Face - Blog
Hugging Face - Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
小众软件
小众软件
人人都是产品经理
人人都是产品经理
罗磊的独立博客
博客园 - 聂微东
雷峰网
雷峰网
量子位
美团技术团队
V
V2EX
The GitHub Blog
The GitHub Blog
大猫的无限游戏
大猫的无限游戏
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
IT之家
IT之家
The Cloudflare Blog
爱范儿
爱范儿
T
Tailwind CSS Blog
博客园 - 三生石上(FineUI控件)
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
宝玉的分享
宝玉的分享
Last Week in AI
Last Week in AI
Jina AI
Jina AI

6Jyc5p+a

【笔记】HermesAgent学习笔记 【笔记】DeepSeekHarness学习笔记 【笔记】Rollup的PluginBabel插件 【笔记】Rollup学习笔记 【笔记】Gulp的BrowserSync插件 【笔记】Node-SSH学习笔记 【笔记】Tapable学习笔记 【笔记】Highlight.js学习笔记 【笔记】Marked学习笔记 【笔记】Webpack通过schema-utils实现Loader参数校验 【笔记】Webpack实现TreeShaking 【笔记】Webpack的WebpackBundleAnalyzer插件 【代码】校验信用卡号码 【笔记】Webpack的SpeedMesureWebpackPlugin插件 【笔记】Codex配置Brave浏览器的MCP 【笔记】Webpack的CSSMinimizerWebpackPlugin插件 【笔记】FastNodeManager学习笔记 【笔记】Terser学习笔记 【笔记】Codex配置Wireshark的MCP 【笔记】Codex配置Unity的MCP 【笔记】Codex配置Blender的MCP 【笔记】Codex配置IDEA的MCP 【笔记】Browserslist学习笔记 【笔记】Codex学习笔记 【笔记】MicrosoftStore微软商店学习笔记 【笔记】通过NapCat和AstrBot实现QQ机器人 【笔记】部署NapCat 【笔记】部署AstrBot 【笔记】Poetry学习笔记 【笔记】uv学习笔记
【笔记】Windows上配置环境变量
57uv6Z6g · 2026-06-24 · via 6Jyc5p+a

前言

Windows上配置环境变量本质是修改注册表
所有系统级环境变量的操作都需要管理员及以上权限

GUI方式配置环境变量

  • 打开环境变量窗口
    • 控制面板\所有控制面板项\系统->高级系统设置->环境变量
    • 右键此电脑->属性->高级系统设置->环境变量
    • 右键开始菜单->设置->系统->系统信息->高级系统设置->环境变量

  • 上半部分修改用户级环境变量,下半部分修改系统级环境变量

通过echo获取环境变量

查询指定环境变量

  • echo无法区分环境变量是进程级、用户级还是系统级,因为echo是从当前会话中查询指定环境变量
1
echo %key%

通过set命令配置环境变量

  • 这种方式只能在CMD中使用,因为set是CMD内置命令不是可执行程序

进程级

新增、修改进程级环境变量

1
set key=value

删除进程级环境变量

1
set key=

查询所有环境变量

  • 包含进程级、用户级、系统级
1
set

通过setx可执行程序配置环境变量

  • 这种方式可以在CMD或PowerShell中使用,因为setx是可执行程序
  • setx不能删除环境变量,只能将环境变量值置为空

用户级

新增、修改用户级环境变量

1
setx key value

将用户级环境变量值置为空

1
setx key ""

系统级

新增、修改系统级环境变量

1
setx key value /M

将用户级环境变量值置为空

1
setx key "" /M

通过 Env: 驱动器的方式配置环境变量

  • 这种方式只能在PowerShell中使用

进程级

新增进程级环境变量

1
New-Item -Path Env:\key -Value "value"
1
New-Item Env:\key -Value "value"
  • 内置别名
1
ni Env:\key -Value "value"

新增、修改进程级环境变量

1
Set-Item -Path Env:\key "value"
1
Set-Item Env:\key "value"
  • 内置别名
1
set Env:\key "value"
  • 语法糖
1
$env:key = "value"

删除进程级环境变量

1
Remove-Item -Path Env:\key
1
Remove-Item Env:\key
  • 内置别名
1
ri Env:\key
  • 语法糖
1
$env:key = $null
强制删除
1
Remove-Item Env:\key -Force

查询指定进程级环境变量

1
Get-Item -Path Env:\key
1
Get-Item Env:\key
  • 内置别名
1
gi Env:\key
只获取值
1
(Get-Item Env:\key).Value
  • 语法糖
1
$env:key

查询所有进程级环境变量

1
Get-ChildItem -Path Env:
1
Get-ChildItem Env:
  • 内置别名
1
gci Env:
1
dir Env:
1
ls Env:

通过 .NET API 的方式配置环境变量

  • 这种方式只能在PowerShell中使用

进程级

新增、修改进程级环境变量

1
[System.Environment]::SetEnvironmentVariable("key", "value", "Process")
  • 简写
1
[Environment]::SetEnvironmentVariable("key", "value", "Process")

删除进程级环境变量

1
[System.Environment]::SetEnvironmentVariable("key", $null, "Process")
  • 简写
1
[Environment]::SetEnvironmentVariable("key", $null, "Process")

查询指定进程级环境变量

1
[System.Environment]::GetEnvironmentVariable("key", "Process")
  • 简写
1
[Environment]::GetEnvironmentVariable("key", "Process")

用户级

新增、修改用户级环境变量

1
[System.Environment]::SetEnvironmentVariable("key", "value", "User")
  • 简写
1
[Environment]::SetEnvironmentVariable("key", "value", "User")

删除用户级环境变量

1
[System.Environment]::SetEnvironmentVariable("key", $null, "User")
  • 简写
1
[Environment]::SetEnvironmentVariable("key", $null, "User")

查询指定用户级环境变量

1
[System.Environment]::GetEnvironmentVariable("key", "User")
  • 简写
1
[Environment]::GetEnvironmentVariable("key", "User")

系统级

新增、修改系统级环境变量

1
[System.Environment]::SetEnvironmentVariable("key", "value", "Machine")
  • 简写
1
[Environment]::SetEnvironmentVariable("key", "value", "Machine")

删除系统级环境变量

1
[System.Environment]::SetEnvironmentVariable("key", $null, "Machine")
  • 简写
1
[Environment]::SetEnvironmentVariable("key", $null, "Machine")

查询指定系统级环境变量

1
[System.Environment]::GetEnvironmentVariable("key", "Machine")
  • 简写
1
[Environment]::GetEnvironmentVariable("key", "Machine")

通过注册表配置环境变量

  • 这种方式可以在CMD或PowerShell中使用

用户级

新增、修改用户级环境变量

1
reg add "HKCU\Environment" /v key /t REG_SZ /d "value" /f

删除用户级环境变量

1
reg delete "HKCU\Environment" /v key /f

查询指定用户级环境变量

1
reg query "HKCU\Environment" /v key

查询所有用户级环境变量

1
reg query "HKCU\Environment"

系统级

新增、修改系统级环境变量

1
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v key /t REG_SZ /d "value" /f

删除系统级环境变量

1
reg delete "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v key /f

查询指定系统级环境变量

1
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v key

查询所有系统级环境变量

1
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"

完成

参考文献

知乎——Fu Kai