有没有办法在C#中的Windows窗体应用程序中运行批处理文件?

时间:2011-06-19 22:51:33

标签: c# batch-file cmd

所以无论如何,我一直在研究批处理IDE,我想知道是否有一种很好的方法可以有效地将文件嵌入到表单中。

它的功能类似于调试模式,用户可以随时单击按钮,批处理文件将加载到实际表单中。

就像黑色cmd窗口将嵌入到表单中... 有没有办法做到这一点?

2 个答案:

答案 0 :(得分:0)

查看进程对象以及StandardInput,StandardOutput和StandardError流。 基本上所有的命令窗口都显示了对控制字符的一些特殊处理。

答案 1 :(得分:0)

ProcessStartInfo psi = new ProcessStartInfo();
psi.RedirectStandardOutput = true;
psi.UseShellExecute = false;
psi.FileName = "C:\\echo.cmd";
var p = Process.Start(psi);
Console.WriteLine(p.StandardOutput.ReadToEnd());

C:\echo.cmd中,我只有echo hello!。执行此代码时 - 您将看到从批处理的输出流中收到hello!

请注意,如果执行的命令将等待某些输入 - ReadToEnd()无法返回。在这种情况下,您应该使用Process.OutputDataReceived事件。