Длинное имя каталога с пробелами - C#

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

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

Всем привет! Пытаюсь из программы запустить такой код (внимание на пробел между Program и Files):
Process Unzip = new Process();
Unzip.StartInfo.FileName = @"C:\Program Files\7-Zip\7z.exe";
Unzip.StartInfo.Arguments = "e";
Unzip.StartInfo.Arguments = "arxiv.zip";
Unzip.Start();
Собственно, проблема в том, что в таком виде распаковка архива не происходит. Если же запишу с двойными кавычками:
            Unzip.StartInfo.FileName = @"C:""Program Files""\7-Zip\7z.exe";
то при исполнении программа вылетает с ошибкой, что не может найти указанный файл. В командной строке Windows команда

C:"Program Files"\7-Zip\7z.exe e arxiv.zip

проходит на ура. Вопрос: есть ли решение этой закавыки? P.S. Временно сделал костыль через bat-файл, работает как часы.

Решение задачи: «Длинное имя каталога с пробелами»

textual
Листинг программы
string UnpackFile = "\"" + Directory.GetCurrentDirectory() + "\"";

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


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

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

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