将Windows 7搜索结果导出到文本文件


16

在Windows 7中,是否可以获取高级查询语法(AQS)返回的文件的列表?

这是查询示例:

owner:bob type:image

我想要文本文档中该查询返回的文件列表。我可以从命令行使用AQS吗?

Answers:


14

可能的解决方案

  1. Ctrl+ A选择所有结果。
  2. 按住Shift键,然后右键单击列表中的第一项。
  3. 从上下文菜单中选择“ 复制为路径 ”。
  4. 将结果粘贴到新的文本文件中。

例如,考虑在C:\Windows\System32文件夹中使用以下查询:

type:image

输出将是这样的:

"C:\Windows\System32\oobe\background.bmp"
"C:\Windows\System32\migwiz\PostMigRes\Web\base_images\AppInstalled.gif"
"C:\Windows\System32\migwiz\PostMigRes\Web\base_images\ClickDownExpanded.gif"
"C:\Windows\System32\migwiz\PostMigRes\Web\base_images\ClickDownNormal.gif"
"C:\Windows\System32\migwiz\PostMigRes\Web\base_images\Column.bmp"
"C:\Windows\System32\migwiz\PostMigRes\Web\base_images\Documents.gif"
"C:\Windows\System32\migwiz\PostMigRes\Web\base_images\Failure.gif"
"C:\Windows\System32\migwiz\PostMigRes\Web\base_images\Programs.gif"
"C:\Windows\System32\migwiz\PostMigRes\Web\base_images\System.gif"
"C:\Windows\System32\migwiz\PostMigRes\Web\base_images\Users.gif"
"C:\Windows\System32\migwiz\PostMigRes\Web\base_images\WindowsMail.bmp"
"C:\Windows\System32\migwiz\PostMigRes\Web\base_images\WindowsMovieMaker.bmp"
"C:\Windows\System32\migwiz\PostMigRes\Web\base_images\WindowsOutlookExpress.bmp"
"C:\Windows\System32\migwiz\PostMigRes\Web\base_images\WindowsPhotoGallery.bmp"

已知限制

  • 除非您选择列表中的第一项,否则结果输出将无法正确排序。
  • 所有项目都将用引号引起来。
  • 复制的结果始终包含完整路径。

后期处理

克服限制的一些方法。

手动分类

如果需要,您可以sort命令提示符下使用命令手动对输出进行排序。

用法示例

sort "X:\Path\to\input.txt" /o "X:\Path\to\sorted.txt"

去除引号

引号可能会妨碍您,但是下面的批处理脚本可以为您删除它们。只需将其另存为StripQuotes.cmd(或保留任何.cmd扩展名即可)。该脚本接受两个参数:分别为输入/输出文件。

用法示例

StripQuotes.cmd "X:\Path\to\myfile.txt" /o "X:\Path\to\stripped.txt"

批处理脚本

@echo off
if "%~2" == "" exit /b 2
type nul>"%~2"
for /f "usebackq delims=" %%G in ("%~1") do echo %%~G>>"%~2"
exit /b

仅检索文件名

如果您不关心完整路径,可以使用下面的批处理脚本。用法与上面的批处理脚本没有什么不同。

批处理脚本

@echo off
if "%~2" == "" exit /b 2
type nul>"%~2"
for /f "usebackq delims=" %%G in ("%~1") do echo %%~nxG>>"%~2"
exit /b

我不再拥有Windows计算机:-(有人可以测试一下,并通知我它是否有效,以便我可以给and31415信用额度解决问题吗?
mrbinky3000 2014年

是的,效果很好!
pelms

3

您可以使用NirSoft的免费实用工具SysExporter

SysExporter实用程序允许您从系统上运行的几乎所有应用程序中获取存储在标准列表视图,树视图,列表框,组合框,文本框和WebBrowser / HTML控件中的数据,并将其导出为文本,HTML或XML文件。

使用资源管理器中的文件搜索结果,SysExporter可能已经检测到搜索结果,但是如果没有,它会带有定位图标,您可以将其拖到结果窗口中。选择所需的条目和所需的列,按任何列排序,然后可以将数据复制到剪贴板或以您选择的格式将其导出到文件中。

图片


尽管SysExporter在Windows XP / Vista上运行良好,但它似乎不支持Windows 7搜索结果(至少从版本开始1.62)。
and31415

@ and31415:发布之前,我已经在Windows 7上测试了1.62版,它似乎可以很好地与Explorer一起使用。您没有进行哪种搜索?
harrymc

我尝试了在答案(type:image)中发布的同一查询,但是其他任何查询都存在相同的问题。基本上程序不会显示任何内容,只是一个空列表。
and31415

@ and31415:我想我明白了-尝试在“详细信息”模式下查看结果。
harrymc

1
实际上,Details视图是使程序显示实际列表的唯一视图。原因是Windows 7使用DirectUI控件(从版本开始受支持1.60)而不是标准控件ListView。所述DirectUI控制使用ListView对象在内部切换到当详细图,SysExporter是能够捕捉其内容。Windows以前的版本仅使用ListView控件,任何视图都可以。为减少混乱,您只能过滤ListViewWindows XP / Vista中的DirectUI项目和Windows 7中的项目。列也可以隐藏/重新排序。
and31415
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.