捕获控制台输出的 C# 代码示例:
using System;
using System.Diagnostics;
class Program
{
static void Main(string[] args)
{
ProcessStartInfo startInfo = new ProcessStartInfo("cmd.exe");
startInfo.RedirectStandardOutput = true;
startInfo.UseShellExecute = false;
Process process = new Process();
process.StartInfo = startInfo;
process.OutputDataReceived += (sender, eventArgs) =>
{
Console.WriteLine(eventArgs.Data);
};
process.Start();
process.BeginOutputReadLine();
process.WaitForExit();
}
}
这段代码将启动一个新的命令行窗口,并捕获其输出。在这个例子中,我们使用了 ProcessStartInfo
类来配置新的进程,并设置了 RedirectStandardOutput
属性为 true
,以便将输出重定向到我们的程序中。我们还设置了 UseShellExecute
属性为 false
,以便在没有 shell 的情况下启动进程。
我们使用 Process
类来启动新的进程,并将其输出通过 OutputDataReceived
事件传递给我们的程序。在这个事件处理程序中,我们将输出打印到控制台。最后,我们调用 BeginOutputReadLine
方法来开始读取输出,并等待进程退出。
这段代码可以捕获任何通过控制台输出的文本,包括错误消息和警告。它可以用于任何需要捕获命令行输出的场景,例如自动化任务、日志记录和错误处理等。
领取专属 10元无门槛券
手把手带您无忧上云