я могу использовать CMD для поиска файлов в Windows?

27

Я хочу команду для поиска файла в каталоге и всех подкаталогах в окнах с помощью командной строки. Я увидел все доступные команды, но не смог найти ни одной подходящей команды для этой операции.

Wael Dalloul
источник

Ответы:

36

В командной строке (командной строке) введите:

dir /S /P "Path\FileName"

Если вы хотите сохранить результаты в текстовом файле:

dir /S "Path\FileName" > "Path\ResultFilename"
Матан Эльдан
источник
3
Если файл скрыт или системный файл, вы можете также включить параметр / a! 8-)
Ричард Лукас
Немного больше информации: /sвыполняет поиск, в то время как /pпаузы после результатов отображаются на экране. Для большего количества вариантов вы можете сделать dir /?.
Люк
1
/sВариант не «делать поиск». Он расширяет dirкоманду - которая по умолчанию перечисляет файлы в текущей папке - чтобы перечислить все эти файлы в любых подпапках. Это расширяет область действия dirкоманды, чтобы перечислять абсолютно все на диске или в папке, а не ограничиваться текущим.
Хашим
16

используйте /bпереключатель, чтобы dirнапечатать полный путь, может быть полезным. сказать,C:\ > dir /b /s *file*.*

тем не менее, вы можете отфильтровать результат с помощью findили for, и перенаправить вывод в файл с>filename

шутник
источник
2

dirпредназначался не для поиска файлов, а для просмотра каталогов, но теперь есть whereвозможность поиска по нескольким типам файлов: where /R c:\Users *.dll *.exe *.jpg

проверьте полный синтаксис и ответ для Как сделать простой поиск файлов в 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 
Винод Шривастав
источник