Распаковка 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");
}