3

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

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

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

2 ответа2

5

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

Windows Registry Editor Version 5.00

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

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

РЕДАКТИРОВАТЬ: GUID является уникальным для каждой машины. Вместо:

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

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

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

0

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

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