News for hackers. Stuff that matters.
Re:Why is the DOS path character "\"? by jgrahamc on Monday March 19, 2012 @08:14AM (#3723529)
Goes deeper than just IBM. Prior to DOS there was CP/M and CP/M had many programs with an older heritage. For example, it was possible to copy from a source (such as a file) to a destination (such as another file, or an I/O port) using a program called PIP (http://en.wikipedia.org/wiki/Peripheral_Interchange_Program). On CP/M, for example, you could print a file with the command (PRN: is the name of the printer device; at the time that was likely a parallel connected printer):

    PIP PRN:=FOO.TXT
PIP itself predates CP/M having been present on machines such as the PDP-11. Wikipedia tells me that it was first implemented on the PDP-6. For example, on the PDP-10 you could do:

    PIP DTA1:/X=DSK:*.*
which copied all the files from the disk onto tape. The /X there modifies the destination and indicates that file attributes (modification time etc.) should be preserved.

PS Now my memory is fully restored from 1980s backing store I believe that CP/M actually replaced the / in PIP with single character switches inside [] and that the route to / being switches in MS-DOS most likely comes through DEC heritage from the PDP series. For example, the W switches would ignore r/o set on a file and overwrite it. This would copy all .COM files (i.e. executables) from B: to A: and overwrite without warning:

    PIP A:=B:*.COM[W]
Re:Why is the DOS path character "\"? by yread on Monday March 19, 2012 @11:52AM (#3724462)
You could still do that with copy in MS-DOS, I have a feeling my mom still does it since she has a printer on parallel port. So if she wants to print a textfile it's just

     copy file.txt LPT1
she can also print multiple files or results of print to file using the /b switch (binary) ignoring EOF

That also explains why you shouldn't use LPT1 as file name - it was a special name that meant first parallel port. I remember seeing a ridiculing thread about it on HN some time ago

Re:Why is the DOS path character "\"? by csamuel on Monday March 19, 2012 @03:15PM (#3725652)
"And that is why, in 2009, when developing in Microsoft .NET 3.5 for ASP.NET MVC 1.0 on a Windows 7 system, you cannot include /com\d(\..)?, /lpt\d(\..)?, /con(\..)?, /aux(\..)?, /prn(\..)?, or /nul(\..)? in any of your routes."

Source: http://news.ycombinator.com/item?id=655397

Re:Why is the DOS path character "\"? by rhizome on Monday March 19, 2012 @07:25PM (#3726904)
I'm pretty sure you could still do this up until at least Win2k+ if your mapped printer had a port associated.
Re:Why is the DOS path character "\"? by Natsu on Tuesday March 20, 2012 @06:58AM (#3728658)
It still works on Windows 7. Sadly, I know that offhand due to having to deal with some weird legacy stuff from our corporate HQ.