On 2014-06-25 03:53, WhatMeWorry 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?

That's not possible. There is a workaround, DVM does something similar. Although, I don't remember how the code works for Windows but you can have a look at the code [1], or perhaps Nick can explain it.

[1] https://github.com/jacob-carlborg/dvm/blob/master/dvm/commands/Use.d#L34

--
/Jacob Carlborg

Reply via email to