Распаковщик архивов шаблонов конфигураций 1С (Распаковщик EFD файлов)




Распаковщик EFD файлов, в которых распространяются поставки конфигураций и обновления к ним. (Не путать с файлами отчетов для платформы 7.7)

Конфигурации 1c и обновления к ним распространяются, в большинстве случаев, в виде самораспаковывающегося архива RAR, распаковав который мы можем наблюдать примерно следующую структуру файлов:

В файле с расширением efd как раз и содержится самое интересное, что и будет скопировано в профиль пользователя при выполнении программы "setup". Но не всегда нам нужны все те данные, что содержатся в текущем "архиве", да и систему захламлять не хочется.

Представляю вашему вниманию обработку "EFD Extractor" для выборочного извлечения нужных файлов из сжатых "архивов" EFD. Движок обработки написан исключительно на "1с" без использования внешних компонент и сторонних удаленных сервисов.

Можно выделить нужные файлы и/или папки и извлечь в заданную директорию. Требуется платформа 8.3.9+ и включенный режим использования синхронных вызовов расширений платформы и внешних компонент.


Также была разработана консольная утилита в помощь админам для автоматизации действий по извлечению данных из EFD-файлов. Данная утилита написана на C# и прекрасно работает и в Windows,

и в unix-подобных системах с использованием "mono"

 

Требуется платформа .Net 4.0, утилита работает только на 64-разрядных операционных системах. В пике использует удвоенное значение памяти по отношению к исходному размеру EFD-файла.

Ключи командной строки:

-i    Путь к исходному EFD-файлу

-l    Вывод списка всех файлов "архива" с полным внутренним путем с указанием размеров (исключает извлечение данных)

-t    Вывод дерева всех файлов "архива" с указанием размеров (исключает извлечение данных)

-d    Директория для распаковки (по умолчанию: текущая директория)

-f    Список файлов и/или папок с указанием их полного внутреннего пути, разделенные символом пробела

-s    Отключение вывода сообщений (кроме показа списка и дерева файлов)

-h    Вывод справки

 

Update 06.02.2024

Обновлена консольная утилита до версии 1.1 (исправлена ошибка неправильного анализа входных параметров)

10 Comments

  1. sytkosa

    (0) а архиватарным плагином для totalcmd можно сделать. ели это из области фантастики

    Reply
  2. SerVer1C

    (1) Уважаемый, можете переформулировать свой комментарий и написать без ошибок?

    Reply
  3. u_n_k_n_o_w_n

    Автору +!

    А можно как то обратно туда затолкать, чтобы сделать свою «инсталяшку»?

    Reply
  4. МихаилМ

    (3) можно используйте v8unpack

    Reply
  5. SerVer1C

    (3) Конечно можно, формат EFD-файла достаточно простой.

    Reply
  6. SerVer1C

    (4) Описание V8Upack Version 3.0.36: Unpack, pack, deflate and inflate 1C v8 file (*.cf)

    Можно только упаковать/распаковать данные, используя алгоритм deflate. Но формат EFD несколько сложнее.

    Reply
  7. Tatitutu

    (0) Автор ты практически спас одному хорошему человеку молодость. Респект и уважуха. Очень пригодилось

    Был архив (два файла setup и efd) на флешке с отпечатком пальца.

    И все случилось в один и жесткий диск сгорел, и на флешке полетела файловая система

    Одни из самых лучших спецов !!! сказали неделя минимум от 12000 за восстановление этого архива (размер 26 мб) и то не факт что получится

    Полночи просидел. С горем пополам смог вытащить efd

    и с помощью твоей обработки из него — мою единственную и уникальную dll . Я счастлив как никто ! Еще раз спасибо !

    Reply
  8. SerVer1C

    (7) 😉 Рад стараться во благо сообщества!

    Reply
  9. alekseies

    На Windows XP все последние 1cv8.efd поврежден ?????????????????????

    Reply
  10. SerVer1C

    (9) Уточните, что у вас не получается?

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *