There’s another interesting fact here: MS-DOS 1.0 didn’t have directories… To print a text file, you could just do TYPE foo.txt > LPT1, since LPT1 wasn’t in a directory (like /dev on Linux).
MS-DOS 2.0 added directories. However, to remain backwards compatible with 1.0, devices were still “global”. You could still run TYPE foo.txt > LPT1 regardless of which directory you were in.
This is why you can’t create files names CON, LPT1, etc. in Windows. They’re reserved globally, which is a holdover from the original MS-DOS version from 1983.
There’s another interesting fact here: MS-DOS 1.0 didn’t have directories… To print a text file, you could just do
TYPE foo.txt > LPT1
, sinceLPT1
wasn’t in a directory (like/dev
on Linux).MS-DOS 2.0 added directories. However, to remain backwards compatible with 1.0, devices were still “global”. You could still run
TYPE foo.txt > LPT1
regardless of which directory you were in.This is why you can’t create files names CON, LPT1, etc. in Windows. They’re reserved globally, which is a holdover from the original MS-DOS version from 1983.