views:

229

answers:

1

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?

+2  A: 

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

Steven Sudit
Or, if you *really* don't want to use ShellExecute, instead run `cmd /C batchFileName.bat`.
Lucas Jones
Didn't know about that - cheers!
Preet Sangha
Lucas - how should this be run ? Using ProcessStartInfo or something else?
akapulko2020
You could run "cmd.exe" using ProcessStartInfo, passing "/C batchFileName.bat" as the command line.
Steven Sudit