Search code examples
c#command-linestart-process

running dos command line from C#?


I am trying to run this command from command-line prompt:

"D:\\fiji\\fiji.exe -macro D:\\fiji\\macros\\FFTBatch.ijm --headless"

It works perfect when I type it in a command-line console.

However, when I was trying to make it work from C# application, it failed. I tried following, but seems the command above did not get executed somehow:

string fijiCmdText = "D:\\fiji\\fiji.exe -macro D:\\fiji\\macros\\FFTBatch.ijm --headless";
System.Diagnostics.Process.Start("cmd.exe", fijiCmdText);

Anyone has any idea how to change it to work? Thanks.


Solution

  • The problem was solved in the direction Chris Haas pointed out. Simply adding "/C " in front of the path, and it worked for me:

    Original code that did not work:

    string fijiCmdText = "D:\\fiji\\fiji.exe -macro D:\\fiji\\macros\\FFTBatch.ijm --headless";
    System.Diagnostics.Process.Start("cmd.exe", fijiCmdText)
    

    The code that works:

    string fijiCmdText = "/C D:\\fiji\\fiji.exe -macro D:\\fiji\\macros\\FFTBatch.ijm --headless";
    System.Diagnostics.Process.Start("cmd.exe", fijiCmdText);
    

    Here is the reference mentioned by Chris Haas. See EDIT3