Por que o diretório * lista todos os arquivos e pastas?
Às vezes, você pode acabar com 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 perguntas e respostas do SuperUser de hoje tem a resposta para a pergunta de um curioso leitor.
A sessão de perguntas e respostas de hoje nos é oferecida por cortesia do SuperUser - uma subdivisão do Stack Exchange, um agrupamento de sites de perguntas e respostas conduzido pela comunidade..
A questão
Leitor SuperUser Luu Vinh Phuc quer saber porque dir *. * Lista todos os arquivos e pastas:
Quando eu executo o comando dir *. *, Ele produz resultados inesperados. Mesmo 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
Contribuidor do SuperUser O Comando da Frota tem a resposta para nós:
O comando DIR vem de uma hora em que:
- Um ponto (.) Não foi permitido como um 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. Não significou 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, para 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 do “.”.
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.