16

В Windows 7 есть ли способ получить список файлов, возвращаемых расширенным синтаксисом запроса (AQS)?

Вот пример запроса:

owner:bob type:image

Я хочу, чтобы список файлов, возвращаемых по этому запросу в текстовом документе. Могу ли я использовать AQS из командной строки?

2 ответа2

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
2

Вы можете воспользоваться бесплатной и универсальной утилитой NirSoft SysExporter:

Утилита SysExporter позволяет извлекать данные, хранящиеся в стандартных представлениях списков, древовидных представлений, списках, полях со списками, текстовыми полями и элементами управления WebBrowser/HTML, практически из любого приложения, работающего в вашей системе, и экспортировать их в текст, HTML или файл XML.

С помощью результатов поиска файлов в Проводнике SysExporter, вероятно, уже обнаружит результат поиска, но если нет, то у него есть значок таргетинга, который можно перетащить в окно результатов. Выберите нужные записи и необходимые столбцы, отсортируйте их по любому из столбцов, после чего вы можете либо скопировать данные в буфер обмена, либо экспортировать их в файл в выбранном вами формате.

образ

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .