posso usar o CMD para procurar arquivos no Windows?


27

Eu quero um comando para procurar um arquivo em um diretório e todos os subdiretórios do Windows usando a linha de comando. Vi todos os comandos disponíveis, mas não encontrei nenhum comando adequado para executar esta operação.

Respostas:


36

No prompt (linha de comando), digite:

dir /S /P "Path\FileName"

Se você deseja salvar os resultados em um arquivo de texto:

dir /S "Path\FileName" > "Path\ResultFilename"

3
Se o arquivo estiver oculto ou um arquivo de sistema, convém incluir também o parâmetro / a! 8-)
Richard Lucas

Um pouco mais de informação: o /sfaz uma pesquisa, enquanto as /ppausas após uma tela com resultados são exibidas. Para mais opções você pode fazer dir /?.
Lucas

1
A /sopção não "faz uma pesquisa". Ele estende o dircomando - que lista os arquivos na pasta atual por padrão - para listar todos os arquivos de qualquer subpasta também. Isso expande o direscopo do comando para listar absolutamente tudo em uma unidade ou pasta, em vez de se limitar ao atual.
Hashim

16

use o /bbotão para dirimprimir o caminho completo pode ser útil. dizer,C:\ > dir /b /s *file*.*

Ainda assim, você pode filtrar o resultado com findou fore redirecionar a saída para o arquivo com>filename


2

dirnão era para pesquisar arquivos, mas para listar diretórios, mas agora existe um whereque pode ser usado para pesquisar vários tipos de arquivos como where /R c:\Users *.dll *.exe *.jpg

verifique a sintaxe completa e a resposta para Como fazer uma pesquisa simples de arquivo no cmd

WHERE [/R dir] [/Q] [/F] [/T] pattern...

Description:
    Displays the location of files that match the search pattern.
    By default, the search is done along the current directory and
    in the paths specified by the PATH environment variable.

Parameter List:
    /R       Recursively searches and displays the files that match the
             given pattern starting from the specified directory.

    /Q       Returns only the exit code, without displaying the list
             of matched files. (Quiet mode)

    /F       Displays the matched filename in double quotes.

    /T       Displays the file size, last modified date and time for all
             matched files.

    pattern  Specifies the search pattern for the files to match.
             Wildcards * and ? can be used in the pattern. The
             "$env:pattern" and "path:pattern" formats can also be
             specified, where "env" is an environment variable and
             the search is done in the specified paths of the "env"
             environment variable. These formats should not be used
             with /R. The search is also done by appending the
             extensions of the PATHEXT variable to the pattern.

     /?      Displays this help message.

  NOTE: The tool returns an error level of 0 if the search is
        successful, of 1 if the search is unsuccessful and
        of 2 for failures or errors.

Examples:
    WHERE /?
    WHERE myfilename1 myfile????.*
    WHERE $windir:*.* 
    WHERE /R c:\windows *.exe *.dll *.bat  
    WHERE /Q ??.??? 
    WHERE "c:\windows;c:\windows\system32:*.dll"
    WHERE /F /T *.dll 
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.