You're going to want to take a look at the System.Diagnostics.Process class. Inside of it it has a StartInfo class that you can fill in with executable location data.

Code:
Process batFile = new Process();
batFile.StartInfo.Filename = "whatever.bat";
batFile.StartInfo.Arguments = "stuff";
batFile.Start();
batFile.WaitForExit(); // this call will block until batFile has finished.
Then after this you can run your .exe file in the same way.