Перейти к основному содержимому

RAR

Модуль 1С/OSOPI_RARКоманда CLIrar#Использоватьoint/formats/rar

Библиотека OPI_RAR предназначена для чтения и распаковки существующих RAR-архивов в 1С:Предприятие, OneScript и CLI. На этой странице — краткий обзор возможностей и типовые сценарии; подробные сигнатуры методов см. в дочерних разделах документации.

important

Создание и изменение RAR-архивов не поддерживаются.

Возможности

ЗадачаМетод
Распаковать весь архив в каталогРазархивироватьКаталог
Извлечь только нужные файлыРазархивироватьФайлы
Получить дерево файлов и каталоговПолучитьСписокФайлов
Получить метаданные и плоский списокПолучитьМетаданные

Во всех методах, где это уместно, архив можно передать путём к файлу или двоичными данными. Пароль, если архив защищён, указывается параметром Пароль (или CLI-опцией --password).

Типичный сценарий

Чаще всего работа выглядит так:

  1. Посмотреть содержимое архива — ПолучитьСписокФайлов или ПолучитьМетаданные.
  2. Распаковать всё — РазархивироватьКаталог, либо только выбранные пути — РазархивироватьФайлы.
ПутьАрхива = "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 и примеры результатов — на страницах соответствующих методов в разделах Разархивирование и Получение метаданных.