C# - 捕获 cmd 输出并将其保存到文件

C# - Capture cmd output and save it to file

询问用户是否喜欢将 cmd 输出保存到 .txt 文件中。如果此条件为真,StreamWriter 开始 "listening" 到 cmd 输出直到某个点,然后将其保存到 .txt 文件中。 StreamWriter 不应重定向输出;它应该出现在 cmd 中以及 .txt 文件中的特定部分。

使用此摘录来大致了解我的代码:

if(choice == 1)
{
    write = WriteFile.Exists(path, id); // In this method the user confirms if he likes to save the following output to the .txt-File

    if(write == true)
    {
       // START LISTENING TO OUTPUT
    }
}

// Algorithm which searches for an ID

Console.WriteLine("The ID was {0}", id);

if(write == true)
{
   // STOP LISTENING and SAVE
}

是否可以通过简单的方式实现我的查询?

我正在使用动态 List,每个新条目都会添加到其中。 在方法的末尾,Console.WriteLinefor 循环中打印出列表中的每一项。 如果用户希望将文本保存到 .txt 文件(条件是 true),它将用

写入其中
using (StreamWriter print = new StreamWriter("LOG {0}.txt", id))
{
    print.WriteLine("LOG ID {0}\n\n", id);
    for (int i = 0; i < output.Capacity; i++)
    {
        print.WriteLine(output.ElementAt(i));
    }
}