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.
June 17, 2008
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
About the Author
You May Also Like