views:

450

answers:

1

I was trying to execute a command through C#, but when I run the following code, a blank cmd window just opens up. The code:

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

What could be wrong? I am sure the syntax is right.

+10  A: 

You need to add the /c argument before your command.

The /c argument tells the command processor to open, run the specified command, then close when it's done

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

For a complete list of arguments please refer to the documentation for cmd.

Alexandre Pepin
What is the argument that tells the command processor not to close when it's done?
Mohit Deshpande
/k For a complete list of arguments please see : http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/cmd.mspx?mfr=true
Alexandre Pepin