RAR
Библиотека OPI_RAR предназначена для чтения и распаковки существующих RAR-архивов в 1С:Предприятие, OneScript и CLI. На этой странице — краткий обзор возможностей и типовые сценарии; подробные сигнатуры методов см. в дочерних разделах документации.
Создание и изменение RAR-архивов не поддерживаются.
Возможности
| Задача | Метод |
|---|---|
| Распаковать весь архив в каталог | РазархивироватьКаталог |
| Извлечь только нужные файлы | РазархивироватьФайлы |
| Получить дерево файлов и каталогов | ПолучитьСписокФайлов |
| Получить метаданные и плоский список | ПолучитьМетаданные |
Во всех методах, где это уместно, архив можно передать путём к файлу или двоичными данными. Пароль, если архив защищён, указывается параметром Пароль (или CLI-опцией --password).
Типичный сценарий
Чаще всего работа выглядит так:
- Посмотреть содержимое архива —
ПолучитьСписокФайловилиПолучитьМетаданные. - Распаковать всё —
РазархивироватьКаталог, либо только выбранные пут и —РазархивироватьФайлы.
ПутьАрхива = "C:\Входящие\пакет.rar";
// 1. Список путей внутри архива
Список = OPI_RAR.ПолучитьСписокФайлов(ПутьАрхива);
// 2. Распаковка в каталог
Результат = OPI_RAR.РазархивироватьКаталог(ПутьАрхива, "C:\Распаковка");
Распаковка
Весь архив
РазархивироватьКаталог извлекает все файлы в указанный каталог. Для защищённого архива передайте пароль третьим параметром.
ПутьАрхива = "C:\Архивы\архив.rar";
КаталогНазначения = "C:\Распаковка";
Результат = OPI_RAR.РазархивироватьКаталог(ПутьАрхива, КаталогНазначения);
// Архив с паролем
Результат = OPI_RAR.РазархивироватьКаталог(ПутьАрхива, КаталогНазначения, "МойПароль123");
Отдельные файлы
РазархивироватьФайлы принимает массив полных путей внутри архива — те же строки, что возвращает просмотр содержимого.
ПутьАрхива = "C:\Архивы\архив.rar";
КаталогНазначения = "C:\Распаковка";
Пути = Новый Массив;
Пути.Добавить("readme.txt");
Пути.Добавить("docs\note.txt");
Результат = OPI_RAR.РазархивироватьФайлы(ПутьАрхива, Пути, КаталогНазначения);
Пути внутри архива зависят от того, как он был собран. Перед выборочной распаковкой надёжнее сначала вызвать ПолучитьСписокФайлов или ПолучитьМетаданные и взять пути из ответа.
Просмотр содержимого
ПолучитьСписокФайлов — иерархическое дерево каталогов и файлов. Удобно, когда нужно показать структуру архива или выбрать пути для РазархивироватьФайлы.
ПолучитьМетаданные — сводная информация об архиве и плоский список файлов с характеристиками (размер, дата и т.д.). Удобно для анализа и последующей обработки без обхода дерева.
ПутьАрхива = "C:\Архивы\архив.rar";
Пароль = "МойПароль123";
Дерево = OPI_RAR.ПолучитьСписокФайлов(ПутьАрхива, Пароль);
Метаданные = OPI_RAR.ПолучитьМетаданные(ПутьАрхива, Пароль);
Файл на диске и двоичные данные
Первый параметр методов — Архив — это либо путь к .rar на диске, либо ДвоичныеДанные архива в памяти.
ДвоичныеДанные = Новый ДвоичныеДанные("C:\Архивы\архив.rar");
Список = OPI_RAR.ПолучитьСписокФайлов(ДвоичныеДанные);
Результат = OPI_RAR.РазархивироватьКаталог(ДвоичныеДанные, "C:\Распаковка");
Если при распаковке не указать каталог назначения, файлы вернутся в ответе как соответствие «путь → двоичные данные» (или описание содержимого). Это удобно для небольших архивов и работы полностью в памяти.
// Содержимое архива в соответствии, без записи на диск
Описание = OPI_RAR.РазархивироватьКаталог(ДвоичныеДанные);
Для крупных архивов предпочтительнее путь к файлу на диске: так меньше расход памяти и не нужно заранее читать весь архив в ДвоичныеДанные.
Подробности полей ответа, варианты CLI и примеры результатов — на страницах соответствующих методов в разделах Разархивирование и Получение метаданных.