Я хочу команду для поиска файла в каталоге и всех подкаталогах в окнах с помощью командной строки. Я увидел все доступные команды, но не смог найти подходящую команду для этой операции.
3 ответа
По приглашению введите:
dir /S /P "Путь \ Имя файла"
Если вы хотите сохранить результаты в текстовом файле:
dir /S "Path\FileName"> "Path\ResultFilename"
используйте параметр /b
для dir
чтобы напечатать полный путь.
скажем, C:\ > dir /b /s *file*.*
тем не менее, вы можете отфильтровать результат с помощью команды find
или for
и перенаправить вывод в файл с >filename
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