Powershell add to path, temporarily

Option 1: Modify the $env:Path Variable

  1. Append to the Path variable in the current window:

    $env:Path += ";C:\New directory 1;C:\New directory 2"
    
  2. Prefix the Path variable in the current window:

    $env:Path = "C:\New directory 1;C:\New directory 2;" + $env:Path
    
  3. Replace the Path variable in the current window (use with caution!):

    $env:Path = "C:\New directory 1;C:\New directory 2"
    

Option 2: Use the editenv Utility

I wrote a Windows command-line tool called editenv that lets you interactively edit the content of an environment variable. It works from a Windows console (notably, it does not work from the PowerShell ISE):

editenv Path

This can be useful when you want to edit and rearrange the directories in your Path in a more interactive fashion, and it affects only the current window.


You can just use $env:Path, but if you're anxious that that isn't explicit enough, you can use System.Environment.SetEnvironmentVariable():

[System.Environment]::SetEnvironmentVariable('Path',$Value,[System.EnvironmentVariableTarget]::Process);

And GetEnvironmentVariable() can explicitly retrieve:

[System.Environment]::GetEnvironmentVariable('Path',[System.EnvironmentVariableTarget]::Process);
[System.Environment]::GetEnvironmentVariable('Path',[System.EnvironmentVariableTarget]::Machine);
[System.Environment]::GetEnvironmentVariable('Path',[System.EnvironmentVariableTarget]::User);

Tags:

Powershell