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

推荐订阅源

量子位
Google DeepMind News
Google DeepMind News
爱范儿
爱范儿
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
NISL@THU
NISL@THU
T
Threat Research - Cisco Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
L
Lohrmann on Cybersecurity
V
Visual Studio Blog
Cyberwarzone
Cyberwarzone
D
Docker
The Hacker News
The Hacker News
C
CERT Recently Published Vulnerability Notes
Vercel News
Vercel News
Project Zero
Project Zero
S
Schneier on Security
aimingoo的专栏
aimingoo的专栏
I
Intezer
腾讯CDC
M
MIT News - Artificial intelligence
Hugging Face - Blog
Hugging Face - Blog
P
Palo Alto Networks Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
AWS News Blog
AWS News Blog
GbyAI
GbyAI
MongoDB | Blog
MongoDB | Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
Vulnerabilities – Threatpost
G
Google Developers Blog
N
Netflix TechBlog - Medium
The Cloudflare Blog
Microsoft Security Blog
Microsoft Security Blog
Y
Y Combinator Blog
A
Arctic Wolf
S
Securelist
酷 壳 – CoolShell
酷 壳 – CoolShell
Cisco Talos Blog
Cisco Talos Blog
Recent Announcements
Recent Announcements
C
Cyber Attacks, Cyber Crime and Cyber Security
L
LINUX DO - 热门话题
T
Threatpost
Latest news
Latest news
Blog — PlanetScale
Blog — PlanetScale
Security Latest
Security Latest
Engineering at Meta
Engineering at Meta
大猫的无限游戏
大猫的无限游戏
H
Help Net Security
The GitHub Blog
The GitHub Blog
T
Tor Project blog
P
Proofpoint News Feed

6Jyc5p+a

【笔记】Codex学习笔记 【笔记】MicrosoftStore微软商店学习笔记 【笔记】通过NapCat和AstrBot实现QQ机器人 【笔记】部署NapCat 【笔记】部署AstrBot 【笔记】Poetry学习笔记 【笔记】uv学习笔记 【笔记】Nodejs通过mysql2操作MySQL数据库 【笔记】CodeBuddy学习笔记 【笔记】MiMoCode学习笔记 【笔记】OpenCode使用XiaomMiMo作为供应商 【笔记】OpenCode学习笔记 【笔记】IDEA的AiAssistant配置任意Agent 【笔记】IDEA的AiAssistant配置任意Agent 【笔记】MacOS上删除TimeMachine时间机器备份 【笔记】MacOS上部署XiaomiMiloco 【笔记】Docker的上下文 【源码】Python3创建1x1像素的图片 【靶场】xss-labs通关攻略 【靶场】upload-labs通关攻略 【笔记】Brave迁移ProxySwitchyOmega数据到ZeroOmega 【笔记】通过Docker部署DVWA 【笔记】通过Docker部署xss-labs 【笔记】通过Docker部署upload-labs 【笔记】通过Docker部署Vulhub 【笔记】宝塔通过Docker部署SQLI-LABS 【笔记】宝塔部署Docker 【笔记】通过Docker部署SQLI-LABS 【靶场】SQLI-LABS通关攻略 【笔记】MSYS2学习笔记 【笔记】Cygwin学习笔记 【笔记】Windows添加自定义右键菜单项 【笔记】Linux上和MacOS上配置环境变量 【笔记】命令行配置HTTP代理 【踩坑】Windows上在IDEA中配置Codex报错 【笔记】start学习笔记 【笔记】Windows的CMD命令学习笔记 【笔记】Java的PriorityQueue和PriorityBlockingQueue 【笔记】IDEA通过AIAssistant安装Codex 【笔记】bcrypt学习笔记 【速查表】浏览器默认禁用的不安全端口 【笔记】Astro学习笔记 【代码】Python3实现从NTP服务器同步时间 【笔记】Koa学习笔记 【笔记】Solidity计算字符串的MD5值 【笔记】Hardhat学习笔记 【笔记】Go安装笔记 【笔记】CVE-2024-3094漏洞利用 【笔记】CVE-2026-43284和CVE-2026-43500漏洞利用 【笔记】CVE-2023-3567漏洞利用 【代码】Python3读写M1卡 【笔记】M1卡学习笔记 【笔记】Python3中文转拼音 【代码】Python3生成中国大陆姓名拼音 【代码】Python3爬取中国大陆手机号段 【笔记】Nodejs发送请求 【笔记】Trello通过API添加待办事项 【笔记】Nodejs的流和缓冲区 【笔记】Nodejs的事件 【笔记】Nodejs的文件和目录操作 【笔记】CNVD-2020-10487漏洞利用 【笔记】CVE-2017-12617漏洞利用 【笔记】PHP输出源码 【笔记】PHP的Phar 【笔记】通过Docker部署OnlineTools 【笔记】XML学习笔记 【笔记】Windows的用户和组 【笔记】CVE-2006-7243漏洞利用 【代码】JS将目录编号转换为十六进制 【笔记】PHP抑制所有报错 【笔记】HFish学习笔记 【笔记】JumpServer学习笔记 【笔记】Conpot学习笔记 【笔记】南墙WAF学习笔记 【笔记】堡塔云WAF学习笔记 【笔记】Windows的远程桌面服务 【笔记】Windows的防火墙
【笔记】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