Por que dir *. * Lista todos os arquivos e pastas?

Às vezes, você pode obter resultados inesperados ao executar comandos, portanto, aprender o “porquê” por trás dos resultados pode ser muito interessante. Com isso em mente, a postagem de hoje de perguntas e respostas do SuperUser tem a resposta para a pergunta de um leitor curioso.

A sessão de perguntas e respostas de hoje chega até nós como cortesia do SuperUser – uma subdivisão do Stack Exchange, um grupo de sites de perguntas e respostas voltado para a comunidade.

A questão

O leitor de superusuário Luu Vinh Phuc quer saber por que dir *. * Lista todos os arquivos e pastas:

Quando executo o comando dir *. *, Ele produz resultados inesperados. Mesmo os arquivos e pastas sem qualquer ponto no nome são listados. Por exemplo:

Por que é que? Existe alguma maneira de listar apenas arquivos com um ponto?

Por que dir *. * Lista todos os arquivos e pastas?

A resposta

O Comando da Frota do contribuidor SuperUser tem a resposta para nós:

O comando DIR vem de uma época em que:

  • Um ponto (.) Não era permitido como caractere em nomes de arquivos ou pastas
  • Os nomes de arquivos e pastas eram restritos a 8 caracteres para nomes e 3 caracteres para extensões

Portanto, por esse padrão, *. * Significava qualquer nome e qualquer extensão. Isso não significa uma string contendo um “.”, Que pode ou não ter caracteres antes ou depois do “.”.

A política da Microsoft é preservar a compatibilidade com versões anteriores, de forma que a interpretação de *. * Seja mantida. Mas no Windows PowerShell, *. * Significa uma string contendo um “.”, Que pode ou não ter caracteres antes ou depois de “.”.


Tem algo a acrescentar à explicação? Som desligado nos comentários. Quer ler mais respostas de outros usuários do Stack Exchange com experiência em tecnologia? Confira o tópico de discussão completo aqui .

Recomendado:  Como ligar e desligar automaticamente as luzes aleatoriamente usando o Wink