чи можу я використовувати CMD для пошуку файлів у Windows?


27

Я хочу, щоб команда шукала файл у каталозі та всіх підкаталогах у Windows за допомогою командного рядка. Я побачив усі доступні команди, але не зміг знайти жодної підходящої команди для цієї операції.

Відповіді:


36

У рядку (командний рядок) введіть:

dir /S /P "Path\FileName"

Якщо ви хочете зберегти результати у текстовому файлі:

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

3
Якщо файл прихований або системний файл, ви можете також включити параметр / /! 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 
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.