How to Access an Environment Variable Without Writing a Complete PowerShell Statement

PowerShell provides a special compact notation so that you can easily access the contents of variables and many other items in PowerShell drives.

Alex Angelopoulos

June 17, 2008

2 Min Read
ITPro Today logo

Windows PowerShell exposes traditional shell environment variables on a drive named env. So, for example, the %TEMP% variable in a Cmd.exe shell can be found at env:temp in PowerShell. You can access the contents of this variable using the Get-Content cmdlet:

 

Get-Content env:temp

 

This is a useful but awkward way to access a simple variable name. To more easily access the contents of variables and many other items in PowerShell drives, PowerShell provides a special compact notation that looks like this:

 

$psdrive:item

 

In this statement, psdrive is the name of a drive (e.g., env), and item is the name of an item on that drive (e.g., the name "temp"). You can also use the same syntax to set the value of an environment variable:

 

$env:newvar = "Some text"

 

The same technique works with other providers. You can see what cmdlet gc points to like this:

 

$alias:gc

 

And you can see the code in the PowerShell prompt function with the command:

 

$function:prompt

 

You can read more about PowerShell's use of traditional shell environment variables by running the following command at a PowerShell prompt:

 

help about_environment_variable

Sign up for the ITPro Today newsletter
Stay on top of the IT universe with commentary, news analysis, how-to's, and tips delivered to your inbox daily.

You May Also Like