Я бы построил это так, чтобы вы записывали в текстовый файл во время записи в вывод консоли.
File.WriteAllText(fileDirectoryPath, textData);//is the simplest way you can write to a file
Вам также необходимо преобразовать поток в текст с помощью средства чтения потоков перед отправкой в параметр textData объекта WriteAllText.См. Пример ниже:
StreamReader reader = new StreamReader(stream);
string text = reader.ReadToEnd();
File.WriteAllText("pathwayToDirectory", text);
А вот код, интегрированный в ваше решение.Примечание. Я предполагаю, что вы помещаете эти текстовые данные в файл дампа:
string path2 = @"C:\Void\Dump\Dump.txt";
Process p = new Process();
ProcessStartInfo info = new ProcessStartInfo();
info.FileName = "cmd.exe";
info.RedirectStandardInput = true;
info.UseShellExecute = false;
p.StartInfo = info;
p.Start();
StreamWriter sw = p.StandardInput;
using (sw)
{
if (sw.BaseStream.CanWrite)
{
sw.WriteLine(@"cd C:\Void\Dump");
sw.WriteLine(@"strings -s");
System.IO.StreamWriter stream = new System.IO.StreamWriter(path2);
StreamReader reader = new StreamReader(path2);//Fixed this to have the right value
string text = reader.ReadToEnd();//convert stream to text
File.WriteAllText(path2, text);
Console.SetOut(stream);
sw.AutoFlush = true;
}
}