在开发过程中,经常需要用到环境变量(比如当前计算机名、登录的用户名、Path环境变量等),那么在PowerShell中如何知道有哪些环境变量呢?又该如何获取指定环境变量的值呢?

PowerShell通过环境变量提供者(Environment Provider)让我们可以访问环境变量。默认情况下,PowerShell创建了一个驱动器(名称为env)来与Environment Provider打交道。所以,我们可以通过env这个驱动器来处理与环境变量相关的操作。

我们可以使用“Get-ChildItem env:”来获取所有的环境变量列表。洪哥本机的运行结果如下:

PS C:\Users\zhanghong> dir env:

Name                           Value

----                           -----

ALLUSERSPROFILE                C:\ProgramData

APPDATA                        C:\Users\zhanghong\AppData\Roaming

CommonProgramFiles             C:\Program Files\Common Files

CommonProgramFiles(x86)        C:\Program Files (x86)\Common Files

COMPUTERNAME                   ZHANGHONG-BOOK

ComSpec                        C:\Windows\system32\cmd.exe

HOMEDRIVE                      C:

HOMEPATH                       \Users\zhanghong

JAVA_HOME                      D:\JavaDevEnv\jdk1.6.0_16

……

注意,Get-ChildItem和dir是一个意思,后者是前者的别名。洪哥喜欢偷懒,所以直接用了dir。

上面,列出了所有的环境变量,有兴趣的朋友可以一一熟悉一下,以便后面在需要用到变量的值时去调用。

2、获取环境变量的值

语法:$env:<变量名>

举个例子,如果我想获取当前计算机名称,则用法如下:

PS C:\Users\zhanghong> $env:computername

ZHANGHONG-BOOK

注意,环境变量也是一种变量,所以在“env:”之前必须有PowerShell变量的专用前缀“$”。

关于PowerShell获取环境变量的值,本文就介绍这么多,希望对大家有所帮助,谢谢!

03-14 15:11