Mohit Deshpande
Mohit Deshpande

Reputation: 55227

Running DOS command through C# just opens blank cmd window

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.

Upvotes: 4

Views: 9617

Answers (1)

Alexandre Pepin
Alexandre Pepin

Reputation: 1836

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.

Upvotes: 14

Related Questions