Windows 设置环境变量

本文介绍了Windows系统中环境变量的类型,包括临时和永久环境变量,并详细讲解了如何通过PowerShell设置和删除这些变量。重点阐述了PATH变量的作用,以及配置环境变量的重要性,如配置Java环境。此外,还提供了一个PowerShell脚本来简化环境变量的添加过程。

环境变量是什么

  1. 环境变量是一种在系统里的变量,可以理解成一种属性,就放在那,有需要的程序就会去读,类似写代码里的全局变量
  2. 通常用作,程序运行时的一些参数
  3. 环境变量分为用户系统

举个经典的栗子,Java安装的时候,需要自己手动配置环境变量,非常头大
但其实Windows可以通过命令行一句话设置。

  • 假设我们需要设置JAVA_HOME这个环境变量

PowerShell 中的Env

在powershell里有3个环境变量,除开上面说的用户系统,还有一个临时环境变量(自己取的名字),就是env:

  • 优先级:临时>用户>系统
  • 彼此不会相互覆盖

临时环境变量的位置

环境变量放在env:里面,这块变量区域被映射成了一个文件分区
就像C: D: E: F: 一样
可以用进入

cd env:

临时环境变量:

$env:[variable name] = 'value'

example:

$env:JAVA_HOME="C:\JAVA"

当你退出当前终端后,临时环境变量就会失效,所以我们通常设置永久的

永久环境变量

就像上面说的,永久的还分为,用户系统

[Environment]::SetEnvironmentVariable("[variable name]","[value]","<User | Machine>")

Example:
第三个参数可写可不写,默认是User

[Environment]::SetEnvironmentVariable("JAVA_HOME","D:\JAVA","Machine")

下面这个就永久修改的:
不过可能需要重启电脑

删除环境变量

  • [value]$null即可删除环境变量

example:

$env:JAVA_HOME=$null
[Environment]::SetEnvironmentVariable("JAVA_HOME",$null)

PATH添加一条环境变量

注意:
因为path里每一条记录中间用;分开,所以你在加入一条记录的时候,需要用;作为前缀
Unix-like分割符是:

$JAVA_HOME = "E:\JAVA"
$env:PATH += ";"+$JAVA_HOME

当然这样就是暂时的,全局永久的方法如下:

$oldpath = [Environment]::GetEnvironmentVariable('PATH', 'Machine')
$newpath = $oldpath + ';New Value'
[Environment]::SetEnvironmentVariable("PATH", $newpath, 'Machine')

关于PATH这个变量

PATH的用处,通常用于记录一些可执行文件的位置,
比如PATH里有一条变量是 C:\Program Files\java\bin
那么,你在打命令java的时候,就会去这个目录下面找这个可执行文件
其等效于:
C:\Program Files\java\bin\java.exe
如此,就可以在 powershell 的任何位置,运行一个java.exe,而不用指明其完整路径。

所以,所谓的配置Java 的环境变量,就是在PATH里加上java.exe的所在路径,以便我们可以方便的使用java.exe

powershell脚本

自己封装了一下,把这段脚本加到$PROFILE里,就可以用了。路径会添加到用户所在的PATH里面

不添加到系统是避免系统环境变量损坏导致出现奇怪bug。

因为$符号在渲染的时候起了冲突,我把代码放到github上了

New-Alias ade   Add-UserEnvironmentVariable
function Add-UserEnvironmentVariable($NewPath){
        $PreviousPath = [System.Environment]::GetEnvironmentVariable("Path", "User")
        $New = "$PreviousPath;$NewPath"
        [System.Environment]::SetEnvironmentVariable("Path", "$New", "User")
        return New-Object psobject -Property @{Path = $New -split ";"}
}

Example:

ade 'D:\JAVA HOME\bin'

相关参考:

微软官方文档

Windows Forums

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值