The early (at least through OS/2) Microsoft developers and "architects" were VMS guys, which used the forward slash to pass command line arguments. This is how you ended up with, for example, linker arguments like /NODEFAULTLIBRARYSEARCH which could be abbreviated as /NOD. By the time heirarchical directories came around, (and they had seen UNIX) as you say, the slash was already in use, and so the backslash (the UNIX literal escape character) was used instead. A similar thing happened with CR/LF vs LF. As a result of the two, much hilarity has ensued, lo, even unto the third generation of users.