Конфигурации 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.2018
Обновлена консольная утилита до версии 1.1 (исправлена ошибка неправильного анализа входных параметров)