How to update system PATH variable permanently from cmd?

Type setx /? to get basic command help. You'll easily discover:

/M                     Specifies that the variable should be set in
                       the system wide (HKEY_LOCAL_MACHINE)
                       environment. The default is to set the
                       variable under the HKEY_CURRENT_USER
                       environment.

You need to run this from an elevated command prompt. Right-click the cmd shortcut and select Run as Administrator.

E.g.

setx /M PATH "%PATH%;C:\Something\bin"

Caution:

We may destroy the current system's PATH variable. Make sure you backup its value before you modify it.


Solution when dealing with a >1024 char path:

None of the other answers worked in my case, but using pathed did the trick. You can append to path as simply as this:

pathed /append C:\Path\To\Be\Added /machine

You can check if the edit happened correctly by running

pathed

PS: if you want to change the user's path instead use: pathed /append C:\Path\To\Be\Added /user and pathed /user to check if it went through correctly.

PPS: In order to be able to run pathed from terminal, you need to put the exe in a directory already on your path (or add a new directory to path, but then you you might need to open a new instance of cmd.exe in order for the new path to be recognized)


From powershell

setx /M PATH "$($env:path);c:\program files\mynewprogram"

Tags:

Windows

Cmd

Path