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

时间:2010-03-04 20:59:52

标签: c# .net batch-file processstartinfo

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

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

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

我做错了什么?

2 个答案:

答案 0 :(得分:8)

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

答案 1 :(得分:0)

检查this-ProcessStartInfo的批处理文件包装:

C:\>ProcessStartJS.bat "cmd.exe" -arguments "/c pause" -style Minimized -priority High -newWindow yes -useshellexecute yes

Started: cmd.exe /c pause
PID:6540