2012-02-24 4 views
3

Мне нужно разархивировать сжатый файл с версией 7zip в командной строке. Это один лайнер должен на хитрость:Отправка аргументов в командную строку

Process.Start("cmd", @"C:\Users\cw\Downloads\7za920\7za e C:\UPDATED.zip -oc:\"); 

Я, указав путь к исполняемому линии команды 7zip, и, говоря это, какой файл разархивировать. Если я скопирую и вставляю эти аргументы в окно командной строки, это сработает. В C# появится окно командной строки, и ничего не произойдет. Что дает?

+0

процесс вы начинаете это CMD, что командная строка. Вам не нужно это делать. Просто вызовите исполняемый файл 7zip. – cadrell0

ответ

4

Try:

Process.Start("cmd", @"/c C:\Users\cw\Downloads\7za920\7za e C:\UPDATED.zip -oc:\"); 
4

Это потому, что вы работаете cmd.exe, а не 7za непосредственно. Вы можете сделать одно из двух:

Process.Start(@"C:\users\...\7za", "e c:\updated.zip -oc:\"); 

или

Process.Start("cmd", @"/c c:\users\...\7za e c:\updated.zip -oc:\"); 

Флаг/с CMD рассказывает запустить аргументы после запуска.

2

Попробуйте

Process.Start(@"C:\Users\cw\Downloads\7za920\7za.exe", @"e C:\UPDATED.zip -oc:\"); 
Смежные вопросы