温馨提示×

c# processstartinfo怎样处理输入输出重定向

c#
小樊
84
2024-11-23 00:38:04
栏目: 编程语言

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

0