在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
来处理输出和错误的重定向。在程序运行完成后,这些文件将包含程序的输出和错误信息。