Распаковка rar-архивов - C#

Узнай цену своей работы

Формулировка задачи:

Перепрбывал много чего и в том числе сторонние библиотеки, вот код, надо расспаковать два архива. Через создание процесса не работает. Архивы формата, рар, должны распаковываться в папки в корневой коталог программы хотя бы С АВТО-ЗАМЕНОЙ старых файлов.
private void button1_Click(object sender, EventArgs e)
        {
            FtpConnect();
            DownloadFile("/NA_OSP", "sklad.rar");
            DownloadFile("/NA_OSP", "vsekt.rar");
            try
            {
                //Unrar(путь, имя);
                //Unrar(путь, имя);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Eror: ", ex.Message);
            }
            MessageBox.Show("OK");
            //Application.Exit();
        }
Пробывал так (до перегрузки метода):
        public void Unrar()
        {
                Process p = new Process();
                p.StartInfo.FileName = @"C:\Program Files\WinRAR\UnRAR.exe";
                p.StartInfo.Arguments = "x -p" + pw + " PL_LOCKED_ARCHIVE.rar";
                p.Start();
        }

Решение задачи: «Распаковка rar-архивов»

textual
Листинг программы
string[] envVars = new[] {"ProgramW6432", "ProgramFiles", "ProgramFiles(x86)"};
string unrarPath = envVars.Select(v => Environment.GetEnvironmentVariable(v))
    .Where(v => v != null)
    .Distinct()
    .Select(v => Path.Combine(v, @"WinRAR\UnRAR.exe"))
    .Where(p => File.Exists(p))
    .FirstOrDefault();
if (unrarPath != null)
{
    Process.Start(unrarPath, "x -p" + pw + " PL_LOCKED_ARCHIVE.rar");
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.636 из 5