我可以使用CMD 在Windows 中搜索文件吗?

Wae*_*oul 28 windows command-line windows-search

我想要一个命令来使用命令行在 Windows 中的目录和所有子目录中搜索文件。我看到了所有可用的命令,但找不到任何合适的命令来执行此操作。

Mat*_*dan 38

在提示符(命令行)输入:

dir /S /P "Path\FileName"
Run Code Online (Sandbox Code Playgroud)

如果要将结果保存在文本文件中:

dir /S "Path\FileName" > "Path\ResultFilename"
Run Code Online (Sandbox Code Playgroud)

  • 如果文件是隐藏的或系统文件,您可能还想包含 /a 参数!8-) (3认同)
  • `/s` 选项不会“进行搜索”。它扩展了 `dir` 命令 - 默认情况下列出当前文件夹中的文件 - 也列出任何子文件夹中的所有文件。这扩展了 `dir` 命令的范围,以绝对列出驱动器或文件夹中的所有内容,而不是仅限于当前的。 (2认同)

Jok*_*ter 16

使用/b开关dir打印完整路径可能会有所帮助。说,C:\ > dir /b /s *file*.*

仍然,您可以使用findor过滤结果for,并将输出重定向到文件>filename


小智 5

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 
Run Code Online (Sandbox Code Playgroud)