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

Windows系统之环境变量

什么是Windows环境变量?

Windows环境变量是操作系统用于存储与系统运行相关的值或配置信息的名称-值对。它们用于控制应用程序和操作系统行为,类似于一组全局的设置或配置。环境变量可以影响系统的许多方面,例如文件搜索路径、临时文件存储位置、用户和系统设置等。

# 环境变量的类型

环境变量可分为用户变量与系统变量两类。

# 系统环境变量

这些变量在整个操作系统范围内可用,影响所有用户和系统中的所有进程。它们通常由系统管理员设置。

常见的系统环境变量包括:

  • %PATH%:定义可执行文件的搜索路径。当你在命令提示符中输入一个命令时,系统会在这些路径中搜索对应的可执行文件。

  • %TEMP%%TMP%:定义临时文件的存放目录。

  • %SystemRoot%:指向Windows操作系统的安装目录,通常是C:\Windows

# 用户环境变量

这些变量仅对特定用户有效,不影响其他用户。用户可以根据自己的需要自定义这些变量。 例如,每个用户都有自己的%PATH%变量,用于添加特定于该用户的可执行文件路径。

# 如何查看和编辑环境变量
# 查看环境变量
# 1、命令提示符:

打开命令提示符(cmd),然后输入set命令,按回车。你将看到当前所有的环境变量及其值。

image.png

输入echo %VARIABLE_NAME%可以查看特定环境变量的值,例如echo %PATH%

image.png

# 2、通过系统设置:

右键点击“此电脑”或“我的电脑”,选择“属性”。

image.png

在“系统属性”窗口中,点击“高级系统设置”。(Windows 11)

image.png

如果是Windows 10则在右侧:

image.png

在“系统属性”窗口中的“高级”选项卡下,点击“环境变量”。

image.png

image.png

# 编辑环境变量
# 1、通过图形界面

在“环境变量”窗口中,你会看到分为“用户变量”和“系统变量”两个部分。

选择你要编辑的变量,然后点击“编辑”按钮。你可以在弹出的窗口中修改变量的值。

你也可以通过“新建”按钮来添加新的环境变量,或者使用“删除”按钮来移除不需要的变量。

image.png

# 2、通过命令行(cmd)

2-1、使用set命令设置临时环境变量(临时变量只在当前命令行窗口有效,不会保存到系统中),添加或修改环境变量:set 变量名=变量内容

image.png

修改覆盖:

image.png

追加内容:set 变量名=%变量名%;变量内容

image.png

2-2、使用setx命令设置永久环境变量

setx语法:

设置用户环境变量:setx "变量名" "变量值"

image.png

会提示已保存,并在“环境变量”窗口中可以看到:

image.png

设置系统环境变量:setx "变量名" "变量值" /m

image.png

image.png

详细语法可以参考微软官方文档:setx | Microsoft Learn

# 3、通过注册表修改环境变量(永久)

环境变量所在注册表位置:

用户变量:HKEY_CURRENT_USER\Environment

image.png

系统变量:HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment

image.png

通过修改添加、修改、删除相关键值对即可实现对环境变量的更改。

# 内置环境变量和默认环境变量
# 内置环境变量

Windows系统中有一些常见的内置环境变量,它们提供了有关操作系统、用户、文件路径等信息。有一些内置环境变量在“环境变量”设置窗口是不显示的。

image.png

可以通过set命令查看:

image.png

以下是一些常见的系统内置环境变量:

  • %SystemRoot%Windows操作系统的根目录,通常是C:\Windows

  • %PATH%:存储可执行文件的搜索路径。当你在命令行中输入命令时,系统会按顺序在这些路径中查找对应的可执行文件。

  • %TEMP% / %TMP%:用于存放临时文件的目录。Windows和应用程序通常在这个目录中创建临时文件。

  • %ProgramFiles%:指向默认的程序文件目录,通常是系统中安装的大部分应用程序的存放位置。默认是: C:\Program Files

  • %ProgramFiles(x86)%:在64位Windows上,指向32位应用程序的默认安装目录。通常是: C:\Program Files (x86) 

  • %HOMEDRIVE%:当前用户的主目录所在的驱动器号。通常是:C:

  • %HOMEPATH%:当前用户的主目录路径,不包含驱动器号,默认值:\Users\<用户名>。

  • %USERPROFILE%:当前用户的主目录的完整路径,包括驱动器号。通常是: C:\Users\<用户名>。

  • %APPDATA%:指向当前用户的应用程序数据目录,通常用于存放用户配置文件和应用程序数据。通常是:C:\Users\<用户名>\AppData\Roaming。

  • %LOCALAPPDATA%:指向当前用户的本地应用程序数据目录,与%APPDATA%类似,但数据不会在网络中漫游。通常是:C:\Users\<用户名>\AppData\Local。

  • %COMSPEC%:指向命令解释器(通常是cmd.exe)的路径。通常是:C:\Windows\System32\cmd.exe

  • %WINDIR%:另一个指向Windows目录的变量,通常与%SystemRoot%相同。通常是:C:\Windows

  • %NUMBER_OF_PROCESSORS%:指示当前系统中可用的处理器核心数量。示例: 2(具体取决于具体硬件配置)。

  • %PROCESSOR_ARCHITECTURE%:指示处理器架构类型(例如x86、AMD64)。示例: AMD64(表示64位架构)。

  • %PROCESSOR_IDENTIFIER%: 提供关于处理器的信息,包括型号和制造商。如: Intel64 Family 6 Model 158 Stepping 10, GenuineIntel

  • %ALLUSERSPROFILE%:指向所有用户的公共配置文件目录,通常用于共享应用程序数。通常是:C:\ProgramData

  • %USERPROFILE%:当前用户的配置文件的位置,通常是:C:\Users\<用户名>

# 默认环境变量(Windows 10/11)

如果不小心误删除了环境变量,可以使用默认的环境变量进行恢复。(在误删除后,没有重启的情况下,也可以尝试通过注册表记录的值进行恢复,因为修改环境变量后,系统不会立刻刷新注册表)

用户变量默认值:

%PATH%: %USERPROFILE%\AppData\Local\Microsoft\WindowsApps

%TEMP%: %USERPROFILE%\AppData\Local\Temp

%TMP%: %USERPROFILE%\AppData\Local\Temp

系统变量默认值:

%PATH%%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\

%ComSpec%: %SystemRoot%\system32\cmd.exe

%PATHEXT%: .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

%DriverData%C:\Windows\System32\Drivers\DriverData

%PSModulePath%%ProgramFiles%\WindowsPowerShell\Modules;%SystemRoot%\system32\WindowsPowerShell\v1.0\Modules

%TEMP%: %SystemRoot%\TEMP

%TMP%:  %SystemRoot%\TEMP

%USERNAME%: SYSTEM

%windir% %SystemRoot%

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Lumos学习王佩丰Excel第十讲:Sumif函数
  • .NET未来路在何方?
  • ei会议论文是什么级别
  • 登录相关功能的优化【JWT令牌+拦截器+跨域】
  • 研0 冲刺算法竞赛 day27 P1090 [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G
  • linux 进程 inode 信息获取
  • Java 面试常见问题之——final,finalize 和 finally 的不同之处
  • Java IO与NIO的对比与高级用法
  • python-打分(赛氪OJ)
  • 书生大模型实战营第三期——入门岛——Git基础知识
  • 【Android】四大组件(Activity、Service、Broadcast Receiver、Content Provider)、结构目录
  • DataX迁移数据到StarRocks超大表报too many version问题记录
  • 深度学习入门(二):常见概念(重点:泛化误差)
  • 电销机器人有哪些优势?
  • 【python基础】python基础习题练习(一)
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • css布局,左右固定中间自适应实现
  • Cumulo 的 ClojureScript 模块已经成型
  • express + mock 让前后台并行开发
  • react-native 安卓真机环境搭建
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • 大主子表关联的性能优化方法
  • 读懂package.json -- 依赖管理
  • 前端_面试
  • 区块链技术特点之去中心化特性
  • 如何优雅地使用 Sublime Text
  • 原生 js 实现移动端 Touch 滑动反弹
  • 阿里云IoT边缘计算助力企业零改造实现远程运维 ...
  • #565. 查找之大编号
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (Note)C++中的继承方式
  • (PADS学习)第二章:原理图绘制 第一部分
  • (rabbitmq的高级特性)消息可靠性
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (函数)颠倒字符串顺序(C语言)
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (万字长文)Spring的核心知识尽揽其中
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • .Mobi域名介绍
  • .NET 4.0中的泛型协变和反变
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .net framework profiles /.net framework 配置
  • .net mvc actionresult 返回字符串_.NET架构师知识普及
  • .net MVC中使用angularJs刷新页面数据列表
  • .Net7 环境安装配置
  • .NET8使用VS2022打包Docker镜像
  • .netcore 获取appsettings
  • .net开发时的诡异问题,button的onclick事件无效
  • ?.的用法