Clicky

Windows 10 aún no permite usar estos nombres de archivo reservados en 1974

Archivos prohibidos en Windows

La función se viene heredando desde el sistema operativo CP/M

Windows "reserva" ciertos nombres de archivo y no permite usarlos en ningún lugar. Olvídate de llamar a un archivo "con.txt" o "aux.mp3". Todo esto se debe a una elección hecha en 1974 y a la sed de Microsoft de eterna compatibilidad con versiones anteriores.

Nombres de archivo que no puedes usar

Microsoft proporciona una lista oficial de nombres de archivos reservados, y aquí están:

CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8 y LPT9

Ten en cuenta que no puedes utilizar estos nombres de archivo con ninguna extensión de archivo. Por lo tanto, no puedes nombrar un archivo "con.txt", "con.jpg", "o" con.doc ". Y Windows no distingue entre mayúsculas y minúsculas, por lo que no importa si es CON, con o CoN. Windows no te permitirá usar ese nombre.

Puedes probarlo tu mismo. Intenta guardar en el Bloc de notas un archivo como "con.txt" o "lpt6.txt". O intenta cambiar el nombre de cualquier archivo a uno de estos nombres en el Explorador de archivos. Windows simplemente no te dejará hacerlo.

Por supuesto, Windows también restringe los nombres de archivo de otras formas. Tampoco puedes utilizar varios caracteres especiales como los siguientes en los nombres. Consulta la documentación oficial de Microsoft para obtener más información.

archivos prohibidos en Windows

¿Qué sucedió en 1974 y por qué debería importarnos?

Como @Foone explicó recientemente en Twitter, este problema se remonta a 1974. En UNIX, "todo es un archivo". (Lo mismo es cierto en los sistemas operativos similares a UNIX como Linux en la actualidad). Los dispositivos de hardware se representaron en rutas especiales como /dev/lp0 para la primera impresora y /dev/tty para la consola.

En 1974, este mismo concepto se agregó al sistema operativo CP/M. Desafortunadamente, CP/M fue diseñado para computadoras con muy poca memoria y sin discos duros. Utilizaba varios discos y ningún directorio, por lo que esos archivos especiales que representan dispositivos aparecían efectivamente en todas partes, en cada disco.

publicidad del sistema operativo CP/MPor lo tanto, cuando se estaba guardando un archivo de texto, se podía decirle al editor de texto que lo "guardara" en el dispositivo de impresión, que lo imprimiría. Pero a los editores de texto y otros programas les gusta agregar extensiones de archivo como ".txt", por lo que CP/M simplemente ignoró la extensión de archivo para estos archivos de dispositivo. En otras palabras, si un editor de texto intenta guardar un archivo con el nombre del dispositivo de impresión seguido de ".txt", CP/M simplemente asumía que se refería al dispositivo de impresión e ignoraba la extensión del archivo. Ahora la función trabajaba correctamente en todas las aplicaciones, ¡excelente!

Claro, es un truco sucio, pero ¿a quién le importa? Bueno, CP/M se dio cuenta. Con el tiempo, apareció PC-DOS y mantuvo esa útil función CP/M. PC-DOS 2.0 agregó directorios en 1983, pero Microsoft eligió que estos archivos de dispositivo aparecieran en todos los directorios por compatibilidad con el software DOS existente en lugar de colocarlos en una carpeta de dispositivo especial.

Finalmente, apareció Windows 95 y se construyó sobre DOS. Windows NT no se basó en la parte superior de DOS, pero quería ser compatible con las aplicaciones de Windows 95. Windows 10 todavía se basa en Windows NT y funciona de la misma manera. Lo mismo se aplica a Windows 7, por supuesto.

Ahora, han pasado más de cuarenta años y todavía no podemos nombrar los archivos "con.txt" o "aux.mp3" porque Windows quiere seguir siendo compatible con los programas antiguos que podrían estar usando esta función. Es un buen ejemplo del compromiso de Microsoft con la compatibilidad con versiones anteriores.

Actualización: Nos dijeron que CP/M originalmente requería dos puntos finales; en otras palabras, en lugar de "CON", tenías que escribir "CON:". Aparentemente, el problema puede haber comenzado realmente en 1981 con el lanzamiento de MS-DOS y PC-DOS, que eliminó el requisito de dos puntos. En DOS, puede utilizarse "CON" en lugar de "CON:". Entonces, quizás DOS sea más culpable de esto que CP/M.

Jesus_Caceres