On Tue, 24 Jun 2014 21:53:51 -0400, WhatMeWorry <kc_hea...@yahoo.com>
wrote:
I open a command line window, and run the following 6 line program
void main()
{
string envPath = environment["PATH"];
writeln("PATH is: ", envPath);
envPath ~= r";F:\dmd2\windows\bin";
environment["PATH"] = envPath;
envPath = environment["PATH"];
writeln("PATH is: ", envPath);
}
It prints out the following
PATH is: C:\Windows\system32;C:\Windows...
PATH is: C:\Windows\system32;C:\Windows...F:\dmd2\windows\bin
when the program exits, I'm back at the command line and I do a
echo %PATH%
which just shows C:\Windows\system32;C:\Windows...
Anybody know of a way to make the change stick for the lifetime of the
command window?
Only the command shell can change it's own environment. When you execute
commands that set an environment variable, those are shell builtins, not
external programs.
You can run a batch file (which is not run in a separate process) which
sets environment variables. This may be the only way to affect the
environment. Basically, have a program run that dictates what to set,
builds a batch file, then run that batch file from the command line. This
could be done in another batch file.
-Steve