À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 .