Por que o Windows 11 ainda não deixa você nomear um arquivo CON, e a explicação da Microsoft volta para MS- DOS

Windows 11 26H2 doesn't allow to name a folder CON, a rule that dates back to DOS
Windows 11 26H2 doesn't allow to name a folder CON, a rule that dates back to DOS

Você pode dar um arquivo no Windows 11 um nome de 200 caracteres cheio de espaços e emojis, mas Deus nos livre de tentar nomear um arquivo ou pastaCONPorque File Explorer vai recusar. CON, PRN, AUX, NUL, COM1 para COM9 e LPT1 para LPT9 são nomes de dispositivos reservados, e engenheiro MicrosoftRaymond Chen.Rastreia sua origem para DOS 1.0, uma versão que nem tinha pastas!

Eu tentei no meu PC rodando o Windows 11 26H2, e a regra que o sistema operacional de 1981 começou com ainda está muito lá, embora o Windows Last descobriu que uma parte dele não funciona mais como a documentação da Microsoft diz.

File Explorer on Windows 11 26H2 showing an error after trying to rename a folder to CON
File Explorer on Windows 11 26H2 showing an error after trying to rename a folder to CON. Credit: Windows Latest

CON, PRN, AUX e NUL são dispositivos, não nomes de arquivos, no Windows 11

Cada nome reservado corresponde a um dispositivo, e NUL é o meu favorito: um buraco negro que engole tudo o que você manda para ele.

Nome reservado. O que ela aponta para
CON Consola (teclado e tela)
PRN Impressora
AUX Dispositivo auxiliar.
NUL Dispositivo nulo (descarta saída)
COM1 a COM9 Portos em série
LPT1 para LPT9 Portas paralelas (impressoras)

 

Microsoftarquivo nomeando documentaçãoAinda diz aos desenvolvedores,"Não use os nomes reservados para o nome de um arquivo,"E as regras também se aplicam às pastas, já que o Windows pensa em uma pasta como um tipo especial de arquivo.

Windows 11 refusing to rename a folder as PRN
Windows 11 refusing to rename a folder as PRN. Credit: Windows Latest

Adicionando uma extensão não éSupostamente.Para ajudar. Faz em alguns casos). De acordo com a Microsoft,"NUL.txt e NUL.tar.gz são ambos equivalentes a NUL."Mesmo dígitos superscritos não estão isentos, como o Windows lê 1, 2 e 3 como dígitos, então COM1 e LPT3 são reservados"em cada diretório."

Arquitetônicamente, COM1 é um link para a porta serial dentro do kernel do Windows, que a Microsoft chama deNome do dispositivo MS-DOS, então digitando COM1 atinge o porto, não um arquivo.

Raymond Chen explica porque uma regra do DOS 1.0 ainda está ativa no Windows 11

A história começa com CP/M, o sistema operacional MS-DOS tentou ser compatível com, onde os nomes dos dispositivos sempre vinham com um cólon, como CON: MS-DOS fez o cólon opcional, que Michal Necasek doMuseu OS/2Chama o"falha fatal,"Já que um nome simples como CON não diz ao DOS se você quer dizer um arquivo ou o console.

Sanco 8001 computer, running under CP/M 2.2 (1982).
Sanco 8001 computer, running under CP/M 2.2 (1982). Source: Michael Specht

Em um2003 postEm seu blogue, Chen explica que"O DOS 1.0 não suporta subdiretórios, minúsculas ou nomes de arquivos maiores que 8.3,"Que também é a estranha razãoPor que os arquivos do sistema mais antigos do Windows 11 ainda têm nomes da era DOS.

Naquela época, se uma montadora perguntasse onde salvar sua saída e você quisesse uma impressão,"Você digitou "PRN" como o nome do arquivo."Datilografando NUL jogou a saída fora, e CON colocou na tela.

Com apenas um diretório no disco, não havia outro lugar para oMagiaNomes para trabalhar. Uma vez que temos pastas em 1983 com DOS 2.0, Chen mencionou que se os nomes não funcionassem dentro deles, você não poderia mudar para uma pasta, executar o montador, e digitar NUL para se livrar da saída. Então, a Microsoft fez os nomes funcionarem em cada pasta, e essa decisão é porque sua pasta Documentos não pode ter um arquivo chamado PRN hoje.

Então por que a Microsoft não limpa essa bagunça há mais de 40 anos?"Porque todo mundo ainda depende deles,"Chen escreveu. Arquivos em lote escondem saída redirecionando para >NUL, scripts verificam se existe uma pasta com"se existe nome de diretório\nul,"e velhos guias lhe dizem para criar arquivos com"Copiar CON."

Por coincidência, se a regra for removida, todo script que redireciona para a NUL começaria a escrever arquivos reais.

Curiosamente, a regra uma vez derrubou PCs inteiros. Windows 95 e 98 rejeitaram um caminho com um nome de dispositivo mas sufocaram em um caminho com dois, como C:\con\con, e MicrosoftBoletim MS00-017de março de 2000 admite que"Geralmente resulta em um acidente."

Tentei a regra da era DOS no Windows 11 26H2, e NUL.txt escapou.

No meu PC rodando Windows 11 26H2, renomeando uma nova pasta para CON me deu "O nome do dispositivo especificado é inválido", e PRN, AUX, NUL e COM1 também foi rejeitado.

No entanto, NUL.txt passou sem uma queixa, assim como CON.txt, embora a documentação da Microsoft ainda diga que NUL.txt é igual a NUL.

It's possible to rename folders to CON.txt and NUL.txt even though Microsoft says it's not possible
File Explorer on Windows 11 26H2 showing NUL.txt and CON.txt created as normal files Credit: Windows Latest

Bem, se a Microsoft não é atualizada, desenvolvedores que investigaram o suporte do Python ao WindowsNotado em 2022.Que o Windows 11 parou de tratar nomes de dispositivos com uma extensão como especial quando processa caminhos de arquivos.

Infelizmente, esses arquivos podem agir de forma estranha. Um usuário ligado.Microsoft Q&ADescobriu que PowerShell poderia listar NUL.txt mas não podia abri-lo ou deletá-lo, e um conselheiro da comunidade respondeu que"o resultado pode ser imprevisível."Talvez seja por isso que a Microsoft insistiu NUL.txt e CON.txt não se importam com as extensões.

Developer found that reserved file name suffixed by an extension name cannot be parsed to the corresponding NT Path
Developer found that reserved file name suffixed by an extension name cannot be parsed to the corresponding NT Path

Por um pouco de diversão, você pode usar o Prompt de Comando para mostrar a velha magia DOS. Correndo eco olá > CON impresso “olá” na tela em vez de criar um arquivo, e eco teste > COM1 falhou, assim como documentos da Microsoft.

Mas antes de bater no Windows, saiba que em 2024, os mantenedores Linux renomearam um arquivo de driver gráfico de Aux.C para Auxch.C, porque o nome impediu as pessoas de clonar o kernel Linux no Windows.

E agora você pode criticar o Windows, porque o Linux mudou seu código para o Windows, enquanto o Windows não deixa cair uma regra de 1981 para scripts que ninguém tocou em décadas.

No entanto, o Windows 11 relaxou a regra o suficiente para deixar o NUL.txt passar, mas CON ainda é considerado um dispositivo, e não um nome de arquivo. Como oGerente de pilha do Windows 95 que ainda está no Windows 11É mais uma relíquia que a Microsoft não pode remover sem quebrar o arquivo de lote de alguém de 30 anos.

FONTE: Matéria original

Postar um comentário

Postagem Anterior Próxima Postagem