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

aka*_*020 6 .net c# batch-file processstartinfo

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

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

var si = new ProcessStartInfo();
si.CreateNoWindow = true;
si.FileName = batchFileName;
si.UseShellExecute = false;
Process.Start(si);
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Ste*_*dit 8

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

  • 或者,如果你*真的*不想使用ShellExecute,而是运行`cmd/C batchFileName.bat`. (5认同)
  • 您可以使用 ProcessStartInfo 运行“cmd.exe”,将“/C batchFileName.bat”作为命令行传递。 (2认同)