Експортуйте результати пошуку Windows 7 у текстовий файл


16

Чи є в Windows 7 спосіб отримати список файлів, повернутих синтаксисом розширеного запиту (AQS)?

Ось приклад запиту:

owner:bob type:image

Я хочу, щоб список файлів, повернутих цим запитом, був у текстовому документі. Чи можу я використовувати AQS з командного рядка?

Відповіді:


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

Так, це працює дуже добре!
pelms

3

Ви можете використовувати безкоштовну і універсальну утиліту SysExporter, безкоштовну NirSoft :

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

З результатом пошуку файлів в Explorer, SysExporter, ймовірно, вже виявить результат пошуку, але якщо ні, то він має піктограму націлювання, яку можна перетягнути до вікна результатів. Виберіть потрібні записи та потрібні стовпці, відсортуйте їх за будь-яким із стовпців, а потім можете скопіювати дані у буфер обміну або експортувати їх у файл у вибраному вами форматі.

зображення


Хоча SysExporter добре працює в Windows XP / Vista, схоже, він не підтримує результати пошуку в Windows 7 (принаймні, як у версії 1.62).
і31415

@ and31415: Я перевірив версію 1.62 на Windows 7 перед публікацією, і, здається, він справно працює з Explorer. Який пошук ви робили, що не спрацювало?
harrymc

Я спробував той самий запит, який я розмістив у своїй відповіді ( type:image), але будь-який інший запит має те саме питання. В основному програма нічого не показує, лише порожній список.
і31415

@ and31415: Я думаю, що я це отримав - спробуйте переглянути результат у режимі «Подробиці».
harrymc

1
Насправді перегляд " Деталі " - це єдиний, який робить програму відображенням фактичного списку. Причина в тому, що Windows 7 використовує DirectUIкерування (підтримується з версії 1.60), а не стандарт ListView. DirectUIУправління використовує ListViewоб'єкт внутрішньо при перемиканні Подробиці точки зору, і SysExporter здатний захопити його зміст. У попередніх версіях Windows просто використовувався ListViewелемент керування, і будь-який вигляд робив би це. Щоб зменшити безлад, ви можете фільтрувати лише ListViewелементи в Windows XP / Vista та DirectUIелементи в Windows 7. Стовпці також можна приховати / упорядкувати.
і31415
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.