問題は、バッチ ファイルが終了するまで WaitForExit が待機しないことです。それはほとんどすぐに戻ってきます。
次のようにバッチファイルを開始しています。
ProcessStartInfo startInfo = new ProcessStartInfo(batchFile);
startInfo.UseShellExecute = true;
startInfo.Arguments = arguments;
using (Process p = Process.Start(startInfo))
{
p.WaitForExit();
}
ありとなしでやってみましたUseShellExecute
。