Façamos um teste, se utilizas um computador com o sistema operativo Windows, independentemente da versão, tenta criar uma pasta com um dos nomes da tabela abaixo, por exemplo “CON”.
Nome | Significado |
CON | Consola (EN: Console) |
PRN | Impressora (EN: Printer) |
AUX | Dispositivo auxiliar, configurável (EN: Auxiliary Device) |
NUL | Dispositivo nulo (EN: Null device; ficheiro especial que descarta toda a informação nele escrita) |
COM0 ? COM9 | Portas serial 1 a 9 (para conexões externas, por exemplo a dispositivos ou impressoras; COM é a abreviatura em inglês para Communication port) |
LPT0 ? LPT9 | Portas paralelas 1 a 9 (para conexões externas, por exemplo a dispositivos ou impressoras; LPT é o acrónimo em inglês para Line Print Terminal) |
Qual foi o resultado? Certamente que te apareceu a seguinte mensagem, não?
Agora experimenta criar um ficheiro com a extensão “.txt” utilizando o mesmo nome (exemplo: “con.txt” (tudo minúsculo)). Apareceu a mesma mensagem, não foi?
Independentemente de ser uma pasta ou um ficheiro, ter a extensão “.txt” ou “.docx”, estar escrito em minúsculas ou em maiúsculas, o Windows não permite a sua criação. Mas qual a razão!?
Um pouco de história…
Em Agosto de 1981 era lançada a primeira versão do DOS (EN: Disk Operating System) que se viria a chamar MS-DOS 1.0. O MS-DOS era um sistema operativo, cuja única forma de utilização era através de uma linha de comandos num ecrã preto. Como tal, a comunicação com outros dispositivos como impressoras também era feita através dessa linha de comandos. Como se podia imprimir então um ficheiro? Simples, escrevias o ficheiro que querias imprimir para o ficheiro de sistema (EN: device file) PRN. A informação escrita nesse ficheiro era então lida pelo “device driver” que a transmitia à impressora.
Os “device files” eram uma forma rápida e eficiente de permitir aos programas do computador comunicar com outros dispositivos, sem que estes tivessem de saber como o fazer. Seria fácil para um programador criar um programa que soubesse comunicar com uma ou duas impressoras diferentes, mas tornar-se-ia incomportável que cada software tivesse de ser programado para comunicar com centenas de impressoras diferentes. É aqui que entram os tão conhecidos “device drivers”, muitas vezes abreviados apenas como “drivers”, cuja função é fazer a ponte entre o software e o hardware.
Uma questão de compatibilidade
“Ok”, dizem vocês. “Agora percebo o porquê desses nomes estarem bloqueados nos anos 80, mas estamos em 2021! As coisas certamente funcionam de forma diferente!”.
Bem, é tudo uma questão de compatibilidade, ou melhor… retrocompatibilidade. Ao bloquear a criação de ficheiros com esses nomes, a Microsoft certifica-se de que qualquer software criado no passado possa correr nos computadores de hoje. Devido a essa decisão muitas empresas escolhem continuar com a utilizar o Windows nos dias de hoje, mesmo sendo pago, pois sabem que que não precisam de alterar demasiado o seu workflow.
Essa decisão por parte da Microsoft pode não durar para sempre, pois manter esse tipo de retrocompatibilidade tende a tornar-se demasiado difícil, ou caro, mas enquanto durar sabemos que mesmo hoje podemos abrir aquele primeiro trabalho que fizemos na primária (títulos com WordArt, quem nunca?).
Fontes:
Why You Can’t Name A File CON In Windows
Windows: Why you cannot create any files or folders named CON, AUX, NUL, COM1 or LPT1
Timeline of DOS operating systems