WPF +在TextBlock中显示bat文件的输出

时间:2014-05-05 03:51:42

标签: c# wpf batch-file process

我试图通过点击按钮的WPF应用程序执行bat文件。 我希望批处理文件的输出显示在WPF应用程序的TextBlock(带有垂直滚动)中。

我可以使用Process.Start执行bat文件

这是我的代码

Process process = new Process();
process.StartInfo.FileName = @"C:\bin\run.bat";
process.StartInfo.Arguments = @"-X";
process.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
process.Start();
process.WaitForExit();

如何进一步处理? 感谢

2 个答案:

答案 0 :(得分:3)

我想我会用答案充实我的评论。您需要重定向bat文件的输出,使用Process.RedirectStandardOutput即可。使用您的代码和MSDN Library页面的代码将为您提供类似的内容。

Process process = new Process();
process.StartInfo.FileName = @"C:\bin\run.bat";
process.StartInfo.Arguments = @"-X";
process.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
process.StartInfo.UseShellExecute = false; //Changed Line
process.StartInfo.RedirectStandardOutput = true;  //Changed Line
process.Start();
string output = process.StandardOutput.ReadToEnd(); //Changed Line
process.WaitForExit(); //Moved Line

答案 1 :(得分:0)

您需要使用gtr符号“>”将标准输出重定向到文本文件。例如

命令> myfile.extension

并且相反的是一次一行地执行文件中的命令,例如

命令