digitalmars.D.learn - Anyone know why system change directory calls don't work?
- Andrej Mitrovic (4/4) May 28 2011 E.g.:
- Bernard Helyer (3/11) May 28 2011 Because system starts a shell process -- the cd only affects that
- Andrej Mitrovic (2/2) May 28 2011 Oh ok. I thought console apps would automagically follow cd calls
E.g.: import std.process; system(r"cd C:\newfolder"); // no effect It just stays in the same folder as the exe. I can use SetCurrentDirectoryA as an alternative, but why doesn't it work via the system call?
May 28 2011
On Sun, 29 May 2011 00:54:10 -0400, Andrej Mitrovic wrote:E.g.: import std.process; system(r"cd C:\newfolder"); // no effect It just stays in the same folder as the exe. I can use SetCurrentDirectoryA as an alternative, but why doesn't it work via the system call?Because system starts a shell process -- the cd only affects that process, not the parent process (that's you!).
May 28 2011
Oh ok. I thought console apps would automagically follow cd calls invoked via system. I got it wrong. Thanks.
May 28 2011