Задать вопрос
Orlov1
@Orlov1

Как извлечь отдельные файлы из архива?

Использую Win rar, установленный в ОС Win 10 для распаковки архивов.
Пытаюсь извлечь из архива только выбранные файлы, чтобы не извлекать все содержимое.
Код работает корректно если искомый файл находится в корневом каталоге архива. Мне нужно извлекать файлы с одинаковым именем находящихся в разных подкаталогах архива с сохранением структуры папок. В этом случае код выдает ошибку. Как записать код, чтобы извлекать заданные файлы из подкаталогов архива ?

string file_name = "test.txt";
    string password = "123";
    string archivePath = "in\";
    string  outputPath = "out\";
    string args = $"x -ibck -y -o+ {(string.IsNullOrEmpty(password) ? "" : $"-p\"{password}\"")} \"{archivePath}\" -n\"{file_name}\" \"{outputPath}\\\"";

    using (Process process = new Process())
    {
        process.StartInfo = new ProcessStartInfo
        {
            FileName = winRarPath,
            Arguments = args,
            UseShellExecute = false,
            CreateNoWindow = true,
            RedirectStandardError = true
        };
 
        process.Start();
        process.WaitForExit();
 
        if (process.ExitCode != 0)
            throw new Exception("Ошибка при распаковке архива.");
    }
}
  • Вопрос задан
  • 29 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы