Entendendo por que o comando DIR se comporta dessa maneira

Entendendo por que o comando DIR se comporta dessa maneira

Porque:

dir "test.txt "
dir test.txt.
dir "test.txt    . .   ."

todas as listas test.txt sem erro no prompt do Windows? Existe algum outro sufixo que é ignorado pelo Windows?

(observe que adicionei espaço, ponto no final do nome do arquivo)

Responder1

O shell do Windows não permite que o nome de um arquivo ou pasta termine com ponto ou espaço. Existem rotinas de baixo nível que cortam automaticamente quaisquer pontos e/ou espaços finais em muitas situações, inclusive quando usadas com arquivos DIR.

Encontrei a seguinte confirmação de que os nomes não podem terminar com ponto ou espaço em um artigo do Windows Dev Center da Microsoft:Nomeando arquivos, caminhos e namespaces

Não termine um nome de arquivo ou diretório com um espaço ou ponto final. Embora o sistema de arquivos subjacente possa oferecer suporte a esses nomes, o shell do Windows e a interface do usuário não oferecem. No entanto, é aceitável especificar um ponto final como o primeiro caractere de um nome. Por exemplo, ".temp".

informação relacionada