Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Possible Duplicate:
What are PATH and other environment variables, and how can I set or use them?

I know that I can edit my environment variables in windows 8 by going to

Start -> All Apps -> Control panel -> System -> 
    Advanced System Settings -> Advanced -> Environment variables.

But honestly, this is ridiculously complex.

Is there an easier way to change environment variables in Windows 8?

For instance if I just want to append new folder to PATH, it is really annoying to go through all these steps. The UI also sucks, because it is really painful to edit long variable values with the small text input.

Requirement 1: I need the changes to persist (e.g. when I use set in console the changes are lost when I close the console)

Requirement 2: I'd prefer a solution that doesn't involve installing extra pieces of software, since this is the kind of problem that I stumble across every time I configure a new Windows box.

share|improve this question
add comment

marked as duplicate by techie007, Hennes, Karan, Canadian Luke, BBlake Nov 7 '12 at 20:59

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

4 Answers

Have you explored the set and setx command? With them you can set a persistent variable. Moreover, the value will be applied immediately, not after the next logon.

Example of windows SET command:

Print the PATH environment variable:

C:\Users\Charity>echo %PATH%
C:\windows\system32;C:\windows and space;C:\foobar

Use set command to set the PATH variable

C:\Users\Charity>set PATH=%PATH%;C:\epicpath
C:\Users\Charity>

The above command only applies to the current window and the change is lost when the cmd window is closed.

C:\Users\Charity>echo %PATH%
C:\windows\system32;C:\windows and space;C:\foobar;C:\epicpath

Example of windows SETX command:

Print the PATH environment variable:

C:\Users\Charity>echo %PATH%
C:\windows\system32;C:\windows and space;C:\foobar

Use setx to set the environment variable:

C:\Users\Charity>setx PATH "%PATH%;C:\zombiepoke"
SUCCESS: Specified value was saved.

Close and re-open cmd terminal, then run:

C:\Users\Charity>echo %PATH%
C:\windows\system32;C:\windows and space;C:\foobar;C:\zombiepoke

You have to be careful with double quotes. If you let quotes get into your path variable it might break something. However they are necessary for specifying addendums to the original %PATH%.

share|improve this answer
1  
Thanks for the tip! I tried setx PATH=%PATH%;;C:\test but I get syntax error :( –  jsalonen Nov 7 '12 at 19:22
2  
There is no = sign when using setx. Do setx /? –  EBGreen Nov 7 '12 at 19:33
add comment

Set Environment variable in Windows 8.

You can access the advanced system setting by right clicking Computer in a file-explorer and going to properties.

This is same as older versions of windows. You can also set environment variables from command line as given here :

What are PATH and other environment variables, and how can I set or use them?

share|improve this answer
add comment

I change them in Powershell. For instance to add a folder to the PATH variable, open powershell then:

$newPath = $env:Path + ';C:\Temp'
[Environment]::SetEnvironmentVariable('Path', $newpath, 'Machine')

That would change it for all users. To change it just for the user running the command, change that last parameter to 'User'. Or to just change it temporarily in this session:

$env:Path += ';C:\temp'
share|improve this answer
add comment

It's pretty easy on the command line:

set MyVar=HelloWorld

(to get to the command line, type cmd from the start screen>.)

To view a variable:

echo %MyVar%

Use setx to permanently set a variable. The syntax is slightly different. Try looking here, or there's lots of other sites out there that will tell you how to use it.

share|improve this answer
    
Yeah thanks man I know this already, but the problem is that if you do changes in this way they don't persist -- i.e. when I close and reopen the command-line the variables are reverted to defaults. Updated my question to reflect this -- sorry. –  jsalonen Nov 7 '12 at 19:11
    
Do you know if I can do a set that will persist? –  jsalonen Nov 7 '12 at 19:19
1  
setx is for permanent changes –  EBGreen Nov 7 '12 at 19:20
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.