2010-03-28 3 views
4

Я пытался выполнить команду через C#, но когда я запускаю следующий код, открывается простое окно cmd. Код:Запуск команды DOS через C# только открывает пустое окно cmd

string command = string.Format(@"adb install C:\Users\Mohit\Programming\Android_Workspace\{0}\bin\{0}.apk", appName); 
ProcessStartInfo cmdsi = new ProcessStartInfo("cmd.exe"); 
cmdsi.Arguments = command; 
Process cmd = Process.Start(cmdsi); 

Что может быть неправильным? Я уверен, что синтаксис прав.

ответ

14

Перед вашей командой необходимо добавить аргумент/c.

Параметр/с аргумент указывает процессор командной открыть, запустить указанную команду, затем закрыть, когда это сделано

string command = string.Format(@"/c adb install C:\Users\Mohit\Programming\Android_Workspace\{0}\bin\{0}.apk", appName); 
ProcessStartInfo cmdsi = new ProcessStartInfo("cmd.exe"); 
cmdsi.Arguments = command; 
Process cmd = Process.Start(cmdsi); 

Для получения полного списка аргументов, пожалуйста, обратитесь к the documentation for cmd.

+0

Что такое аргумент, указывающий, что командный процессор не закрывается, когда это делается? –

+5

/k Полный список аргументов можно найти по адресу: http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/cmd.mspx?mfr=true –

Смежные вопросы