.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();

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


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

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

13   голосов , оценка 4 из 5
Похожие ответы