Set a persistent environment variable from cmd.exe

Use the SETX command (note the ‘x’ suffix) to set variables that persist after the cmd window has been closed.

For example, to set an env var “foo” with value of “bar”:

setx foo bar

Though it’s worth reading the ‘notes’ that are displayed if you print the usage (setx /?), in particular:

2) On a local system, variables created or modified by this tool will be available in future command windows but not in the current CMD.exe command window.

3) On a remote system, variables created or modified by this tool will be available at the next logon session.

In PowerShell, the [Environment]::SetEnvironmentVariable command.

Leave a Comment