在C#中获取CMD输出

时间:2013-11-17 16:59:51

标签: c# cmd output

我正在使用语法检查程序,在CMD中这样调用:

"C:\Program Files (x86)\BoLPad\SyntaxCheck\\luac5.1.exe" C:\Users\Andi-PC\Desktop\test\syntax.lua

- >所以我调用程序并作为参数调用要检查的文件。 现在,我正在尝试将检查结果(因此CMD中的输出)传递给我的C#应用​​程序。

我想知道是否可能,我甚至尝试使用> command.txt将文件从CMD中取出,但其中没有任何内容。所以我要么需要CMD文本的工作输出,要么获取CMD文本......任何想法?

1 个答案:

答案 0 :(得分:2)

您可以使用进程并重定向输出流,如下所示:

ProcessStartInfo psi = new ProcessStartInfo(@"C:\Program Files (x86)\BoLPad\SyntaxCheck\luac5.1.exe", @"C:\Users\Andi-PC\Desktop\test\syntax.lua");
psi.UseShellExecute = false;
psi.RedirectStandardOutput = true;
Process process = Process.Start(psi);
string output = process.StandardOutput.ReadToEnd();
process.WaitForExit();