Windows 10 文件搜索两个文件夹

问题描述 投票:0回答:3

我处于文档控制状态。
我必须反复搜索两个文件夹。
Windows 10 可以同时搜索两个文件夹吗?

格伦。谢谢。

windows search windows-10 directory
3个回答
5
投票

有两种选择:
- 搜索公共父文件夹并仅包含所需路径的结果
- 创建自定义搜索,仅搜索所需的路径

假设我有这个文件夹结构:

.\temp\A\B\folder1
.\temp\I\J\folder2
.\temp\X\Y\folder3

enter image description here 其中每个文件夹都包含名为 fileX in FolderY.txt
的文件 现在我想在folder1和folder2中搜索file1,但不在任何其他文件夹中搜索,例如folder3


  • 选项1

打开包含搜索文件的两个子文件夹共用的文件夹。在我们的示例中,它是文件夹 temp

enter image description here

然后输入此搜索字符串:

file1 (folder:(temp\A\B\folder1) OR folder:temp\I\J\folder2)

enter image description here

包含 OR 语句的括号是必需的,如果该路径不包含空格,路径周围的括号是可选的。

如果您开始搜索的文件夹包含许多文件,则此选项不是最佳选择。从 C:\ 开始搜索仍将搜索整个 C:\


  • 选项2

首先输入搜索字符串,包括任何可能的搜索选项,但不指定文件夹:

enter image description here

现在单击搜索 - 保存搜索并将搜索保存到 .search-ms 文件
用记事本打开该文件,接近尾部时,会出现这样的内容:

<include path="::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\C:\temp" attributes="1887437183"/>

根据需要多次复制整个标签,同时将每个标签的路径更改为您想要完成搜索的路径。
保存文件,根据需要重命名,移动到任何您喜欢的位置,然后双击使用它。

enter image description here

  • 这样,只搜索指定位置,搜索速度很快
  • 在此屏幕截图中,search-ms 已格式化,而通常情况下并非如此。无论您将其保存为格式化还是缩小,或者仅格式化 Scope 元素,在新行中输入每个包含,都没有关系
  • 任何搜索选项也会保存到 search-ms,例如递归搜索(当前文件夹\所有子文件夹)、日期或文件类型
  • 您还可以使用
    <exclude path=
    从搜索中排除路径位置
  • 您可以使用
    <include knownFolder="<GUID>"
    使位置更加通用和可移植 已知文件夹 ID
  • 有关 search-ms 格式的更多信息

0
投票

我使用选项 2 创建了一个批处理文件。 它允许您指定搜索词,然后生成并运行 .ms-search 文件。

您必须替换路径“C:\Folder01”、“D:\Folder01”、“E:\Folder01”、“F:\Folder01”。

 @echo off
SETLOCAL enabledelayedexpansion

for /l %%x in (1, 1, 100) do  (
    set /p searchterm="Enter search: "
    (
        echo ^<?xml version="1.0"?^>
        echo ^<persistedQuery version="1.0"^>
        echo ^<viewInfo viewMode="details" iconSize="16"^>
        echo ^<sortList^>
        echo ^<sort viewField="System.DateModified" direction="descending"/^>
        echo ^</sortList^>
        echo ^</viewInfo^>
        echo ^<query^>
        echo ^<conditions^>
        echo ^<condition type="leafCondition" property="System.Generic.String" operator="wordmatch" propertyType="string" value="!searchterm!" localeName="en-US"^>
        echo ^</condition^>
        echo ^</conditions^>
        echo ^<kindList^>
        echo ^<kind name="item"/^>
        echo ^</kindList^>
        echo ^<scope^>
        echo ^<include path="::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\C:\Folder01" attributes="1887437149"/^>
        echo ^<include path="::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\D:\Folder01" attributes="1887437149"/^>
        echo ^<include path="::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\E:\Folder01" attributes="1887437149"/^>
        echo ^<include path="::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\F:\Folder01" attributes="1887437149"/^>
        echo ^</scope^>
        echo ^</query^>
        echo ^</persistedQuery^>
    ) > GeneratedMoviesSearch.search-ms
    GeneratedMoviesSearch.search-ms
)

0
投票

我有几个文件夹要搜索:

C:\Program Files\VSTPlugIns C:\Program Files\Steinberg\VstPlugins C:\Program Files\Common Files\VST3 C:\Program Files\Common Files\VST2 C:\Program Files\Native Instruments\VSTPlugins 32 位 C:\Program Files\Native Instruments\VSTPlugins 64 位

C:\Program Files (x86)\VSTPlugIns C:\Program Files (x86)\Steinberg\VstPlugins C:\Program Files (x86)\Common Files\VST2 C:\Program Files (x86)\Common Files\VST3

在每个文件夹中我创建了名为“YEAH”的文件夹

通过选项 1,我为前 6 个文件夹编写了一个命令...

是(文件夹:(C:\ Program Files \ VSTPlugIns)或文件夹:(C:\ Program Files \ Steinberg \ VstPlugins)或文件夹:(C:\ Program Files \ Common Files \ VST3)或文件夹:(C:\ Program Files\Common Files\VST2) 或文件夹:(C:\Program Files\Native Instruments\VSTPlugins 64 位) 或文件夹:(C:\Program文件\Native Instruments\VSTPlugins 32 位))

...而且效果非常好。搜索结果中有 6 个“YEAH”文件夹!!

但是当我尝试将任何(x86)文件夹添加到此命令或仅对(x86)文件夹使用此方法时,它不起作用

我粘贴命令 是(文件夹:(C:\ Program Files(x86)\ Common Files \ VST2)或文件夹:(C:\ Program Files(x86)\ Common Files \ VST3)) 我没有得到任何结果

谁知道为什么它不适用于文件夹(x86)?

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.