Como fazer uma pesquisa simples de arquivo no cmd

131

Desejo procurar rapidamente um arquivo com seu nome ou parte dele, na linha de comando do Windows (não no Power Shell). Isso é semelhante a abrir o explorer e usar a caixa de pesquisa na parte superior.

Nota: dirpode pesquisar com base em um modelo de string, mas não procurará nos subdiretórios.

Nota 2: findstrpode ser usado para procurar um token dentro de arquivos e possui um sinalizador de recursividade; é engraçado que uma descoberta mais complexa possa ser facilmente descoberta ...

Bogdan Gavril MSFT
fonte
Possível duplicata de superuser.com/questions/177234/…
manipula

Respostas:

175

dir /s *foo* pesquisas na pasta e subpastas atuais.

Encontra diretórios e arquivos.

where / s significa (documentação) :

/ s Lista todas as ocorrências do nome do arquivo especificado no diretório especificado e em todos os subdiretórios.

Gilles Arcas
fonte
Tenho outra pergunta, como copiar esses documentos encontrados para outra pasta? Muito obrigado
Hong Cheng
@HongCheng Você pode usar curinga com Xcopydepois de verificar a saída com o DIRcomando acima como o uso o mesmo que xcopy *foo* c:\Temppara encontrar todos os *foo*arquivos e copiá-los no c:\Tempdiretório
Vinod Srivastav
128
dir /b/s *.txt  

procura por todos os arquivos txt na árvore de diretórios. Antes de usá-lo, basta alterar o diretório para root usando

cd/

você também pode exportar a lista para um arquivo de texto usando

dir /b/s *.exe >> filelist.txt

e pesquise usando

type filelist.txt | find /n "filename"

EDIT 1: Embora este comando dir funcione desde os velhos dias, mas o Win7 adicionou algo novo chamado Where

where /r c:\Windows *.exe *.dll

irá procurar exe & dll na unidade c: \ Windows, conforme sugerido por @SPottuit, você também pode copiar a saída para a área de transferência com

where /r c:\Windows *.exe |clip

apenas espere o prompt retornar e não copie nada até então.

EDIT 2: Se você estiver pesquisando recursivamente e a saída for grande, você sempre poderá usar morepara ativar a paginação, ela será exibida -- More --na parte inferior e será exibida na próxima página assim que você pressionar SPACEou mover linha por linha ao pressionarENTER

where /r c:\Windows *.exe |more

Para obter mais ajuda, tente

where/?
Vinod Srivastav
fonte
5
Você também pode exportar a lista para sua área de transferência, substituindo >> filelist.txtpor | clip. Mais informações sobre o uso | clipe .
Sjoerd Pottuit
6
Ao adicionar /batrás, dirapenas o nome do arquivo ou o caminho do arquivo (se pesquisar em várias pastas) é retornado ( b é o formato) e nenhum detalhe do arquivo e da pasta. Ao adicionar por /strás dirdos diretórios s ub, também será pesquisado. Mais informações sobre o comando dir .
Sjoerd Pottuit
Não sei por que essa não é a resposta aceita. Contém tudo o que tem e muito mais. Obrigado por postar isso. Gostaria de poder votar mais de uma vez!
Avrohom Yisroel
1
seria de esperar que só cd \ ou cd \ mudaria para o diretório raiz, mas parece cd / também faz o trabalho no Windows 10 - não tenho certeza desde que versão DOS / Windows isso é verdade que
George Birbilis
1
@ Vinod Srivastav, muito bom. Todos os cenários possíveis explicados.
Klanto Aguntuk 13/09/18
2

dir *.txt /s /p dará informações mais detalhadas.

Mullai Nathan
fonte
1
Quais detalhes? /pfará uma pausa e é o mesmo quewhere /r c:\Windows *.exe /T |more
Vinod Srivastav
0

O problema com o DIR é que ele retornará respostas erradas. Se você estiver procurando pelo DOC em uma pasta usando DIR *.DOC-o, ele também fornecerá o DOCX . A pesquisa *.HTMtambém fornecerá o HTML e assim por diante ...

Hobbe Lundahl
fonte
2
É por isso que se deve usar ONDE como Where /R c:\ *.DOC *.HTMpara a finalidade
Vinod Srivastav
Vinod Srivastav. Eu tentei agora e uau, este trabalho se pergunta. :) Vou implementar isso nos meus lotes.
Hobbe Lundahl
0

Você pode pesquisar no Windows pelo DOS e pela GUI do explorer.

DOS:

1) DIR

2) ICACLS (procura por arquivos e pastas para definir a ACL neles)

3) cacls ............................................... ...

2) exemplo

icacls c: * ntoskrnl *. * / grant system: (f) / c / t, use o PMON de sysinternals para monitorar quais pastas têm acesso negado. O resultado contém

caminho de acesso contém sua unidade

nome do processo é explorer.exe

esses eram filtros que você deve aplicar

Todos
fonte