Mago писал(а):копировать все папки в которых найден искомый файл
Если допускается копировать не только родительские папки, но и папки более высокого уровня, то можно воспользоваться плагином
CopyTree.
Если нужны только родительские папки, то можно групповым переименованием (
Ctrl+M) перенести файлы (в результатах поиска) с их родительскими папками во вспомогательные папки с уникальным именем (например, Абракадабра) с помощью маски для имени файла
Абракадабра\[P]\[N], затем поиском найти эти папки и скопировать по F5 в требуемое место. Останется сделать откат переименований в инструменте группового переименования и удалить вспомогательные папки Абракадабра. Но при этом может измениться на текущую дата папок в исходных данных (для NTFS). Поэтому перед переименованием лучше воспользоваться или копией всех данных, или плагином CopyTree для промежуточного копирования найденных файлов (с папками) в отдельный каталог.
P.S.
Похоже, что решал не ту задачку, что все остальные: полагал, что в папках надо копировать не всё содержимое, а только найденные "файлы с определённым текстом".
Для правильной задачи, как вариант, список родительских папок с путями можно также получить в ИГП - инструменте группового переименования (без выполнения реального переименования!).
Примерно так:
1) Выделить в панели с результатами поиска найденные файлы
2) Запустить ИГП (
Ctrl+M)
3) Поле Маска для: имени файла
[=tc.Путь]
4) …расширения
очистить
5) Найти:
.
6) Заменить на:
:
7) 1x
включить
8) Кнопка внешнего редактора (
F10), в контекстном меню выбрать "Редактировать имена..."
9) В редакторе сохранить список папок
10) Выйти из редактора, отказаться от загрузки изменённых имён
11) Выйти из ИГП
Пункты 2-7 можно заменить вызовом команды
multirename имя_шаблона с сохранёнными в указанном шаблоне настройками ИГП.