Wszystko zaczyna się od starej PIP
komendy CP / M - ta komenda, używana do kopiowania plików, pozwoliła na określenie specjalnych nazw urządzeń zamiast plików.
Gary Kildall, który opracował CP / M, w dużej mierze oparł swoją strukturę plików i procesor poleceń na systemach operacyjnych firmy Digital Equipment, takich jak RSTS / E dla PDP-11. Oprócz dostępu do plików na dyskietce, polecenie PIP w CP / M może również przesyłać dane do iz następujących „plików specjalnych”:
CON: — console (input and output)
AUX: — an auxiliary device. In CP/M 1 and 2, PIP used PUN: (paper tape punch) and RDR: (paper tape reader) instead of AUX:
LST: — list output device, usually the printer
PRN: — as LST:, but lines were numbered, tabs expanded and form feeds added every 60 lines
NUL: — null device, akin to /dev/null
EOF: — input device that produced end-of-file characters, ASCII 0x1A
INP: — custom input device, by default the same as EOF:
OUT: — custom output device, by default the same as NUL:
Nie były to jednak prawdziwe pliki urządzeń, ponieważ ich obsługa była ograniczona do PIP.
Potem pojawia się DOS na początku lat 80-tych, klon 8086 CP / M przeznaczony do pracy na nowym wówczas komputerze IBM. DOS rozszerzył tę koncepcję nieco dalej - powyższe były „plikami specjalnymi” i można je było określić wszędzie tam, gdzie oczekiwano pliku w komendach DOS. Tak więc wbudowane copy
polecenie DOS może być użyte do wydrukowania dokumentu przez wykonanie copy myfile.txt prn:
. (Późniejsze wersje CP / M mogły to zrobić, ale wątpię.)
Prześlij dalej do Windows 95. Został zbudowany na DOSie, kod obsługi tych specjalnych nazw plików pozostał, ale najwyraźniej nie był zbyt dobrze zintegrowany z częścią GUI Windows 95. To spowodowało pewne problemy, takie jak błąd CON \ CON - i wiadomo, że powoduje to również problemy z IE.
Prawdopodobnie z powodu paranoi kolejnych czających się błędów (chociaż żadna nie powinna istnieć w wersjach systemu Windows opartych na NT) Microsoft zdecydował się na to, aby Explorer zawsze odrzucał wszelkie próby utworzenia pliku o tej nazwie. To zabawne, że nawet w systemie Windows 8, którego teraz używam, nadal nie mogę utworzyć folderu o nazwie „con”. (Windows 10 nadal nie pozwala ci tego zrobić).