如何使用ProcessStartInfo运行批处理文件?

但它不起作用 – 意味着java代码没有执行。 虽然批处理文件在Windows资源管理器中单击或在命令行中运行时运行正常。

由于批处理文件是单个DOS命令时这可以正常工作,我认为这与Java代码运行需要大约20分钟这一事实有关。 我正在使用以下代码

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

我究竟做错了什么?

UseShellExecute设置为true,因此它会加载cmd.exe以运行批处理文件。