Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a batch file that spawns a shell with a modified path with the following command:

cmd /K set PATH=%PATH%;<additional path locations>

I want to set additional environment variables for the spawned shell as well. Is there any way to do that?

share|improve this question
up vote 1 down vote accepted

Simply add another variable on a new line using set as shown in your example. You will also want to remove the /K switch from the first line as execution will stop after that line.


will create a new variable called NEWVAR with the value SOMETHING. If you wish to keep the same behavior and keep cmd open with the /K switch just put it at the end.


set PATH=%PATH%;C:\Folder;
echo %NEWVAR%
share|improve this answer
Thanks - that worked like I wanted it to. I put cmd /K at the end because I wanted to use the shell after it had finished executing my commands. – quanticle Aug 15 '09 at 1:10
You can also write a batch that makes all necessary changes to the environment and then simply start your cmd instance with cmd /k setvars.cmd. This is for example how Visual Studio sets up its command prompt. – Joey Aug 15 '09 at 12:26

You could also combine them into a single line as follows:

set A=foo & B=bar & C=baz

This way, you could avoid having to modify the original script and run it like so:

set A=foo & B=bar & C=baz & c:\path\to\foo.bat

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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