
В Windows 7 есть ли способ получить список файлов, возвращаемыхРасширенный синтаксис запроса(АКС)?
Вот пример запроса:
owner:bob type:image
Я хочу получить список файлов, возвращаемых этим запросом, в текстовом документе. Могу ли я использовать AQS из командной строки?
решение1
Возможное решение
- Нажмите Ctrl+, Aчтобы выбрать все результаты.
- Удерживая Shiftклавишу, щелкните правой кнопкой мыши по самому первому элементу в списке.
- ВыбиратьКопировать как путьиз контекстного меню.
- Вставьте результаты в новый текстовый файл.
Например, рассмотрите возможность использования следующего запроса в 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
Вы можете использовать бесплатную и универсальную утилиту NirSoftSysExporter:
Утилита SysExporter позволяет извлекать данные, хранящиеся в стандартных списках, древовидных представлениях, списках, полях со списками, текстовых полях и элементах управления WebBrowser/HTML, практически из любого приложения, работающего в вашей системе, и экспортировать их в текстовый, HTML- или XML-файл.
С результатом поиска файлов в Проводнике SysExporter, вероятно, уже обнаружит результат поиска, но если нет, то у него есть значок нацеливания, который вы можете перетащить в окно результатов. Выберите нужные записи и требуемые столбцы, отсортируйте по любому из столбцов, а затем вы можете либо скопировать данные в буфер обмена, либо экспортировать их в файл в выбранном вами формате.