WaitForExit
次のようなパラメーターなしで使用するだけです。
Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = false;
p.StartInfo.FileName = "d:/my.bat";
p.Start();
p.WaitForExit();
p.Close();
p.Dispose();
プロセスが完了するまで待機します。詳細については、MSDN のドキュメントを参照してください。
別の方法として、特にユーザーにフィードバックを提供したい場合は、次のようにすることができます。
Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = false;
p.StartInfo.FileName = "d:/my.bat";
Console.Write("Running {0} ", p.StartInfo.FileName)
p.Start();
while (!p.HasExited)
{
Console.Write(".");
// wait one second
Thread.Sleep(1000);
}
Console.WriteLine(" done.");
p.Close();
p.Dispose();