在C#中,使用ProcessStartInfo
类可以轻松地处理进程的输入、输出和错误重定向。以下是如何设置这些重定向的示例:
using System;
using System.Diagnostics;
using System.IO;
class Program
{
static void Main()
{
// 创建一个新的ProcessStartInfo实例
ProcessStartInfo startInfo = new ProcessStartInfo
{
FileName = "your_executable.exe", // 要运行的程序的文件名
Arguments = "input_file.txt output_file.txt", // 要传递给程序的参数
RedirectStandardOutput = true, // 将标准输出重定向到文件
UseShellExecute = false, // 不使用系统外壳程序启动程序
CreateNoWindow = true, // 不创建新窗口
};
// 设置标准输出重定向的文件流
startInfo.StandardOutput = new StreamWriter("output_file.txt");
// 设置标准错误重定向的文件流
startInfo.StandardError = new StreamWriter("error_file.txt");
// 创建一个新的进程实例,并使用ProcessStartInfo设置
using (Process process = Process.Start(startInfo))
{
// 等待进程完成
process.WaitForExit();
}
}
}
在这个示例中,我们创建了一个ProcessStartInfo
实例,设置了要运行的程序文件名、参数以及输入输出重定向。我们将标准输出重定向到output_file.txt
,将标准错误重定向到error_file.txt
。然后,我们使用Process.Start()
方法创建一个新的进程实例,并使用ProcessStartInfo
设置。最后,我们等待进程完成。
注意:在这个示例中,我们使用了StreamWriter
来处理输出和错误的重定向。在程序运行完成后,这些文件将包含程序的输出和错误信息。