Tutto inizia con il vecchio PIP
comando CP / M : questo comando, utilizzato per copiare i file, consente di specificare nomi di dispositivi speciali anziché file.
Gary Kildall, che ha sviluppato CP / M, ha basato gran parte della progettazione della sua struttura di file e del processore dei comandi su sistemi operativi di apparecchiature digitali, come RSTS / E per il PDP-11. Oltre ad accedere ai file su un disco floppy, il comando PIP in CP / M potrebbe anche trasferire dati da e verso i seguenti "file speciali":
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:
Questi non erano veri file di dispositivo, tuttavia, poiché la loro gestione era limitata a PIP.
Quindi DOS arriva nei primi anni '80, un clone CP / M 8086 destinato a funzionare sul nuovo PC IBM. DOS ha esteso ulteriormente questo concetto: i precedenti erano "file speciali" e potevano essere specificati ovunque ci si aspettasse un file nei comandi DOS. Pertanto, è copy
possibile utilizzare il comando DOS incorporato per stampare un documento eseguendolo copy myfile.txt prn:
. (Le versioni successive di CP / M potrebbero essere state in grado di farlo, ma ne dubito.)
Flash avanti a Windows 95. Si è basato su DOS, il codice che gestisce questi nomi di file speciali è rimasto, ma evidentemente non è stato integrato troppo bene nella parte GUI di Windows 95. Ha causato alcuni problemi come il bug CON \ CON - e questo era noto per causare problemi anche con IE.
Probabilmente a causa della paranoia di ulteriori bug in agguato (anche se nessuno dovrebbe esistere nelle versioni di Windows basate su NT) Microsoft ha deciso di farlo dove Explorer rifiuta sempre qualsiasi tentativo di creare un file con quel nome. È divertente che anche nel sistema Windows 8 che sto usando ora, non riesco ancora a creare una cartella chiamata "con". (Windows 10 non ti consente ancora di farlo).