Como posso encontrar arquivos que NÃO correspondem a uma extensão específica no Windows XP?

2

Eu preciso encontrar e excluir todos os arquivos em subdiretórios que não são .SQL files. Não consigo descobrir como pesquisar <>.SQL ou !.SQL no Windows Search.

A maioria das soluções que vi aqui são para encontrar extensões específicas e fazer algo com elas. Eu estou procurando o oposto.

    
por Nico 05.07.2011 / 11:10

2 respostas

7

Eu não sei como fazer isso no Windows Search, mas na linha de comando é:

dir /s /b /a-d | findstr /v /r ".*\.sql"
  • dir / s - listagem de diretórios recursivos
  • / b - listagem simples, apenas nomes de arquivos (sem informações de tamanho de diretório etc. na saída)
  • / a-d - filtrar por atributos, não por diretório (remover subdiretórios da listagem)
  • | (pipe) - envia a saída do diretório listando para
  • findstr - utilitário de pesquisa de texto
  • / v - apenas linhas de retorno que não correspondem a
  • / r - usa expressões regulares
  • ". *. sql" - corresponde a qualquer número de vezes seguido por um ponto seguido por sql
por 06.07.2011 / 04:26
2

Se você insistir em usar a pesquisa do Windows, que não tem capacidade ou suporte nativos para esse recurso, basta executá-lo desta forma:

*.a OR *.b OR *.c OR *.d OR *.e OR *.f OR *.g OR *.h OR *.i OR *.j OR *.k OR *.l OR *.m OR *.n OR *.o OR *.p OR *.q OR *.r OR *.t OR *.u OR *.v OR *.w OR *.x OR *.y OR *.z

A pesquisa seguinte excluirá todos os arquivos com extensões .s * e listará todos os outros.

Talvez exista uma maneira melhor de fazer isso, mas isso também deve funcionar.

    
por 07.05.2014 / 14:39