Todo comienza con el antiguo PIP
comando CP / M : este comando, utilizado para copiar archivos, le permitía especificar nombres de dispositivos especiales en lugar de archivos.
Gary Kildall, quien desarrolló CP / M, basó gran parte del diseño de su estructura de archivos y procesador de comandos en los sistemas operativos de Digital Equipment, como RSTS / E para el PDP-11. Además de acceder a los archivos en un disquete, el comando PIP en CP / M también podría transferir datos hacia y desde los siguientes "archivos especiales":
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:
Sin embargo, estos no eran archivos de dispositivos verdaderos, porque su manejo se limitaba a PIP.
Luego, DOS aparece a principios de los años 80, un clon 8086 CP / M destinado a funcionar en la nueva PC de IBM. DOS amplió este concepto un poco más: los anteriores eran "archivos especiales" y podían especificarse donde se esperaba un archivo en los comandos de DOS. Por lo tanto, el copy
comando DOS incorporado podría usarse para imprimir un documento ejecutando copy myfile.txt prn:
. (Las versiones posteriores de CP / M podrían haber podido hacer esto, pero lo dudo).
Avance rápidamente a Windows 95. Al estar construido sobre DOS, el código que maneja estos nombres de archivo especiales permaneció, pero evidentemente no se integró demasiado bien en la parte GUI de Windows 95. Causó algunos problemas como el error CON \ CON - y también se sabía que esto causaba problemas con IE.
Probablemente debido a la paranoia de más errores al acecho (aunque ninguno debería existir en las versiones basadas en NT de Windows) Microsoft decidió hacerlo donde Explorer siempre rechaza cualquier intento de crear un archivo con ese nombre. Es curioso que incluso en el sistema Windows 8 que estoy usando ahora, todavía no puedo hacer una carpeta llamada "con". (Windows 10 aún no te deja hacer esto).