我试图通过点击按钮的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();
如何进一步处理? 感谢
答案 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
并且相反的是一次一行地执行文件中的命令,例如
命令