.NET 3.x Распаковать архивные файлы используя arj.exe - C#
Формулировка задачи:
Добрый день помогите разобраться. Делаю программу для разархивирования arj архивов. В коде пишет ошибку "Синтаксическая ошибка в имени файла, имени папки или метке тома" :
for (int i = 0; i < ls_dir_full.Count; i++)
{
string[] str = ls_dir_full[i].Split('\\'); //D:\2016\03\17.03.2016\17032016_0913_1209.arj
string[] file = str[4].Split('.');
string raz = @"" + System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\dicl\\" + file[0] + "\\";
string path = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\arj.exe";
if (file.Length != 1)
{
try
{
Process proc = new Process();
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.FileName = System.IO.Path.GetDirectoryName(path + " X -Y " + ls_dir_full[i] + " " + raz);
proc.StartInfo.CreateNoWindow = false;
proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
proc.Start();
}
catch (Exception ex)
{
MessageBox.Show("" + ex);
}
}
}Решение задачи: «.NET 3.x Распаковать архивные файлы используя arj.exe»
textual
Листинг программы
ProcessStartInfo startInfo = new ProcessStartInfo(); startInfo.UseShellExecute = false; startInfo.FileName = arjPath; startInfo.Arguments = "e " + ls_dir_full[i] + " " + raz; startInfo.CreateNoWindow = false; startInfo.WindowStyle = ProcessWindowStyle.Hidden; startInfo.RedirectStandardOutput = true; // добавлено ... Process arjProc = Process.Start(startInfo); string output = arjProc.StandardOutput.ReadToEnd(); arjProc.WaitForExit();