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

Reply via email to