Поиск того, какие банки содержат файл

В Windows XP я напоминаю, что могу использовать Windows Search, чтобы найти, какие банки в каталоге содержат определенный файл класса. Но в Windows 7 это больше не работает. У меня есть опция «Поиск» для «Включить сжатые файлы (ZIP, CAB, …)», но это, похоже, не помогает. Поиск содержимого файла (который появляется как выбор после сбоя первоначального поиска) также не работает.

Мне удалось найти файл, используя следующую команду, но это боль (нужно открыть командную строку в нужном каталоге, вставить обновленную команду и визуально проверить результаты, которые могут быть очень длинными, если есть много банок) ,

for %i in (*.jar) DO %JDKHOME%\bin\jar.exe tf %i | grep myfile 

По умолчанию Windows 7 не считает, что .jar – это zip-файл, который он может открыть, поэтому не перечисляет его содержимое. Вы можете исправить это со следующим дополнением реестра:

 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\.jar\PersistentHandler] @="{3B224B11-9363-407e-850F-C9E1FFACD8FB}" 

Либо вставьте это в текстовый файл и сохраните как fix.reg, затем откройте его и согласитесь добавить его в реестр.

EDIT: GUID уникален для каждой машины. Вместо:

Откройте редактор реестра и перейдите к ключу HKEY_CLASSES_ROOT\.zip\PersistentHandler и скопируйте значение в (Default) .

Затем перейдите в HKEY_CLASSES_ROOT\.jar , добавьте новый ключ PersistentHandler и вставьте скопированный GUID в значение (Default) .

Затем в проводнике поиск в файлах jar с работой, используя опцию содержимого файла поиска.

Я всегда использую Far Manager http://www.farmanager.com/ , у него есть очень гибкая утилита «find file», которая может искать и в архивах.

  • Overzealous `mv` переименовал папку my / usr / lib
  • Давайте будем гением компьютера.