[Цитировать]

    Gemostarter
  • 15956
  • Стаж: 7 лет 7 месяцев
  • Сообщений: 323
  • Репутация:35

    [+] [-]
GeStart WimExtractorНазвание: WimExtractor
Версия: 1.0.0.0
Автор: GemoStarter
Системные требования:
Версия ОС: Windows XP или новее
Архитектура: x86-32, x86-64-Программа для быстрого извлечения файлов из образов формата Windows Image (WIM) при помощи библиотеки WimLib. Казалось бы, зачем это нужно, если есть DISM, позволяющий смонтировать образ в папку, и 7-Zip, способный открыть его как обычный архив? Ответ - скорость: пока другие только начнут открывать образ для просмотра содержимого, WimExtractor уже выведет список файлов/каталогов в корне образа и позволит начать извлечение нужного.-Программа представлена в двух вариантах:
1) Стандартный - состоит из исполняемого файла и динамически подключаемой библиотекой wimlib. Рекомендуется к использованию.
2) Однофайловый - состоит только из исполняемого файла, библиотека wimlib находится внутри него и запускается прямо из памяти. Это нетрадиционный для Windows вариант, к тому же он лишает преимуществ динамических библиотек.
2.5) SFX-версия однофайлового варианта от dimo70, можно скачать из его сообщения.-

Дополнительная информация:

Скорость открытия образа всегда практически одинакова и очень слабо зависит от его размера - даже очень большие образы (более 50 гигабайт) открываются за пару секунд. Причина - отложенное построение списка файлов и каталогов в образе. Программа не строит всё "дерево" каталогов целиком и сразу, как это делает, скажем, 7-Zip, вместо этого содержимое каждого каталога просматривается программой только тогда, когда вы выберете его в интерфейсе.
"Узким местом" в итоге становится графический интерфейс - перенос туда внутренних списков программы занимает примерно в 10-20 раз больше времени, чем их наполнение с помощью WimLib. Для устранения "тормозов" на этом этапе также применено отложенное наполнение. Когда программа заполнит свой внутренний список и если окажется, что в нём более 100 элементов, в интерфейс сразу перенесётся только часть, остальное будет добавляться во время простоев. Практически всё время работы программ с графическим интерфейсом занято простоями, и списки тоже наполняются довольно быстро. Поэтому, если вам кажется, что какого-то файла нет в списке, попробуйте отпустить бегунок полосы прокрутки выпадающего списка - если он поползёт вверх, значит, программа просто не успела заполнить :-)

Как пользоваться:

Запустив программу, первым делом нужно указать путь к нужному WIM. Для этого справа от самого верхнего выпадающего списка есть небольшая кнопка "...", открывающая стандартный диалог выбора файла. Кроме того, можно перетащить WIM из Проводника на окно программы либо её исполняемый файл (до запуска). Либо указать путь к файлу в командной строке.
В момент запуска программа проверит папку, в которой она находится, и добавит в список все имеющиеся там файлы с расширениями "wim" и "esd". Однако ни один из них не будет автоматически открыт. Исключение - файлы с именами "pc.wim", "notebook.wim", "pc.esd" и "notebook.esd": последний найденный файл с таким именем будет автоматически открыт.
Выбранный WIM добавится в самый верхний выпадающий список. С помощью этого списка можно быстро переключаться между WIM-файлами, открытыми с момента запуска программы. После закрытия программы список нигде не сохраняется.
Второй выпадающий список позволяет выбрать нужный образ (индекс) внутри WIM.
Далее каждый выпадающий список содержит элементы файловой системы (файлы и каталоги) внутри выбранного образа. Выберите нужный каталог, и ниже появится новый выпадающий список, содержащий элементы этого каталога. Продолжайте выбирать элементы списков, пока не доберётесь до нужного вам файла. Если же вам нужно извлечь не файл, а каталог целиком, то вместо файла укажите в самом нижнем списке псевдоэлемент "[//Root]".
Добравшись до нужного объекта, нажмите кнопку "Extract" внизу и в появившемся диалоге выбора папки укажите, куда извлечь файл/каталог. Лучше всего указать пустую папку, но это необязательно - важно лишь, чтобы там не было файла/каталога с тем же именем, что вы извлекаете. К сожалению, WimLib не позволяет давать произвольные имена файлам/каталогам прямо в процессе извлечения.
Когда извлечение будет закончено, программа сообщит об этом, а в выбранной вами папке появится извлечённый объект. Если в процессе произойдёт ошибка, программа сообщит код ошибки WimLib.

О целях программы:

Изначально WimExtractor (тогда ещё AdminDP_GUI) создавался как лёгкий, быстрый и минималистичный интерфейс для драйверпака AdminDP. Драйверы там хранятся в WIM-файле, и используется монтирование этого файла в папку консольной программой ImageX. Этот WIM очень крупный, более 40 гигабайт, и его монтирование занимает несколько минут даже на довольно мощных компьютерах. Кроме того, для нормальной работы в разных версиях Windows (от XP до 10) пак тащит с собой разные версии ImageX и используемой им библиотеки WimGAPI - эти инструменты созданы Microsoft для развёртывания Windows, развиваются вместе с ней и обладают ограниченной обратной совместимостью. Из-за этого не используется максимально сильное (LZMS) сжатие WIM - старые WimGAPI не работают с ним, а монтирование его в папку не поддерживается никакими версиями.
WimExtractor позволяет открыть этот WIM-файл менее чем за 10 секунд (!) даже на довольно старых и слабых компьютерах. Даже если на чём-то "допотопном" потребуется больше времени, это всё равно будет в десятки и сотни раз быстрее, чем при использовании монтирования. Далее - одна и та же версия библиотеки WimLib поддерживает все версии Windows начиная с XP и заканчивая последними билдами 10, при этом полностью поддерживая LZMS-сжатие (знаменитые "ESD-файлы") и другие "фишки" новых версий формата WIM, что позволяет безболезненно пережать драйверпак и сэкономить место на диске, чуть-чуть потеряв в скорости работы. Кроме того, сам факт, что используется только одна версия библиотеки и нет необходимости выбирать нужную, устраняет целый пласт возможных ошибок и недоработок.
В настоящее время AdminDP не развивается, и планы по реализации всех "велосипедов" с целью получить его полнофункциональный альтернативный клиент отложены в долгий ящик. WimExtractor был дополнен и усовершенствован (появилась возможность выбрать нужный WIM вручную, поддержка нескольких индексов, отложенное наполнение выпадающих списков) с целью максимально полной реализации его главной функции - извлечения файлов из образов Windows Image.
Вложение

Стандартный вариант

Вложение

Однофайловый вариант



Последний раз редактировалось: Gemostarter (2019-11-07 14:51), всего редактировалось 8 раз(а)

[Цитировать]

    vovan1982
  • 214
  • Стаж: 9 лет 9 месяцев
  • Сообщений: 1129
  • Репутация:76

    [+] [-]
  • Откуда: Ростов-на-Дону
Gemostarter, прикольно. Открыла и извлекла нужный файл очень быстро.

[Цитировать]

    vitvash
  • 1964
  • Стаж: 9 лет
  • Сообщений: 135
  • Репутация:3

    [+] [-]
Приветствую ,а как total commander открывает с несколькими редакциями? Может можно как то прикрутить ah

[Цитировать]

    Gemostarter
  • 15956
  • Стаж: 7 лет 7 месяцев
  • Сообщений: 323
  • Репутация:35

    [+] [-]
Обновлено. Wim теперь выбирается по нажатию кнопки (думаю, разберётесь) и можно потом выбрать другой, а также поддерживаются индексы.

[Цитировать]

    vitvash
  • 1964
  • Стаж: 9 лет
  • Сообщений: 135
  • Репутация:3

    [+] [-]
Gemostarter, Спасибо всё работает .Папка Windows стала быстрей открываться имхо

[Цитировать]

    vovan1982
  • 214
  • Стаж: 9 лет 9 месяцев
  • Сообщений: 1129
  • Репутация:76

    [+] [-]
  • Откуда: Ростов-на-Дону
Gemostarter, отлично. Извлекает молниеносно.

[Цитировать]

    Gemostarter
  • 15956
  • Стаж: 7 лет 7 месяцев
  • Сообщений: 323
  • Репутация:35

    [+] [-]
71124Gemostarter, Спасибо всё работает .Папка Windows стала быстрей открываться имхо
Эффект плацебо ah
Открою маленьку тайну: программа изначально создавалась как максимально упрощённый GUI-клиент для AdminDP, но я так и не соизволил скачать сам этот пак, а теперь ещё и развитие его, по ходу, прекращено. Собсна, из ориентированности на AdminDP и вышло изначальное отсутствие поддержки смены wim и индекса.

[Цитировать]

    Gemostarter
  • 15956
  • Стаж: 7 лет 7 месяцев
  • Сообщений: 323
  • Репутация:35

    [+] [-]
В результате тестов выяснилось, что практически всё время, которое программа "думает" при построении списка файлов внутри папок, уходит на запись их названий в выпадающий список. Само же чтение имён из wim занимает менее 10% всего времени. Следовательно, нет смысла кэшировать результаты - никакой экономии это не принесёт.

[Цитировать]

    Adler
  • 1708
  • Стаж: 9 лет 1 месяц
  • Сообщений: 1212
  • Репутация:65

    [+] [-]
  • Откуда: Луганск
Проверил. Работает. Полезная тулза.
Есть мысль, что бы можно было добавить, так это поддержку автоматического извлечения. Т.е. выбрал путь, нажал экспорт и сгенерировался батник, к примеру, ну или конфигурационный файл, прописав который в параметрах командной строки произошло бы автоматическое извлечение. Правда не знаю, надо это кому-то или нет, просто мысль...
И иконку бы ей, а то с дефолтной заглушкой как то не кошерно...

[Цитировать]

    timon45
  • 2835
  • Стаж: 8 лет 8 месяцев
  • Сообщений: 88
  • Репутация:5

    [+] [-]
  • Откуда: Беларусь
такой плагин для Total Commander-а был бы неплох, я про то что можно было открывать wim/esd и извлекать из него файлы, пока использую для этих целей 7-zip.

[Цитировать]

    dimo70
  • 17296
  • Стаж: 6 лет 11 месяцев
  • Сообщений: 3777
  • Репутация:27

    [+] [-]
  • Откуда: BG
Gemostarter, а драг енд дроп будет?

_________________
Подпись отключена за нарушение правил форума

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 лет 9 месяцев
  • Сообщений: 3810
  • Репутация:127

    [+] [-]
71136пока использую для этих целей 7-zip
Я думаю, что медленная работа 7-zip связана с тем, что он сразу формирует список ВСЕХ файлов в образе (изо всех индексов, разумеется). Но это как раз то, что требуется от плагина Фар/Тотал.
Имхо, в подобном режиме вряд ли wimlib будет быстрее...

[Цитировать]

    Gemostarter
  • 15956
  • Стаж: 7 лет 7 месяцев
  • Сообщений: 323
  • Репутация:35

    [+] [-]
71135выбрал путь, нажал экспорт и сгенерировался батник, к примеру, ну или конфигурационный файл, прописав который в параметрах командной строки произошло бы автоматическое извлечение
Блажь, имхо. Руками сделать однострочный батник для wimlib-imagex ничуть не сложнее.
71135иконку бы ей
Будет, когда перестанет быть прототипом.
71136лагин для Total Commander
Если осилю ag
71137драг енд дроп
Будет позже.
71140сразу формирует список ВСЕХ файлов в образе ... это как раз то, что требуется от плагина Фар/Тотал.
А мне кажется, что требуется как раз то, что делает сабж. Файл-манагеры же не строят дерево папок сразу, они содержимое папки только при её открытии смотрят.
71140Имхо, в подобном режиме вряд ли wimlib будет быстрее...
Кстати, надо замерить. Только лень мне с 7z.dll разбираться, а без этого точных и непредвзятых замеров можно не ждать - сабж-то я только так и согласен тестировать.

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 лет 9 месяцев
  • Сообщений: 3810
  • Репутация:127

    [+] [-]
Gemostarter, возможно, я ошибаюсь. Я работаю с 7-zip через MultiArc и там внешняя утилита (в нашем случае 7-zip) должна сразу выдавать всё "дерево".
---
Проверил тут на средней машинке современную сборку Фар-а (там Arclite, который через 7-zip). ESD с кучей индексов (~10) открывает секунд за 7-10. И это с флешки (правда, довольно скоростной). И, судя по мельканию окон, таки формирует всё дерево сразу ab

[Цитировать]

    Gemostarter
  • 15956
  • Стаж: 7 лет 7 месяцев
  • Сообщений: 323
  • Репутация:35

    [+] [-]
71142судя по мельканию окон, таки формирует всё дерево сразу
Для мелькания окнами строить всё дерево сразу необязательно. У сабжа скорость открытия папки зависит от кол-ва файлов и подпапок в ней. Сотня-другая - моргнуть не успеешь, и это самом медленном моём ноуте (какой-то старый atom, на нём все замеры, кстати, и проводились). А если реализовать наполнение списка не сразу, а отложено либо по мере пролистывания, то на любом компе любая папка с любым кол-вом вложенных будет открываться мгновенно. Тогда только открытие wim станет для сабжа поводом задуматься на секунду-другую. Но это сложно и лень ag

Страница 1 из 3


Показать сообщения:    

Текущее время: 21-Ноя 12:01

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы