How do I use ProcessStartInfo to run a batch file?

akapulko2020 picture akapulko2020 · Mar 4, 2010 · Viewed 15.6k times · Source

But it doesn't work -meaning the java code is not executed. Although the batch file runs fine when clicked in Windows explorer or when run in command line ..

Since this works fine when the batch file is a single DOS command, I think this is somehow related to the fact that the Java code needs ~20 minutes to run. I'm using the following code

var si = new ProcessStartInfo();
si.CreateNoWindow = true;
si.FileName = batchFileName;
si.UseShellExecute = false;
Process.Start(si);

What am I doing wrong?

Answer

Steven Sudit picture Steven Sudit · Mar 4, 2010

Set UseShellExecute to true, so it loads cmd.exe to run the batch file.