Я хотел спросить вас, у меня есть процесс, который вызывает файл .cmd, и мне нужно, чтобы вывод процесса находился в созданном окне CMD процесса, а также мне нужно скопировать вывод в файл журнала.
Я попытался перенаправить стандартный вывод, но когда я перенаправляю стандартный вывод, вывод не появляется в окне CMD, но я могу записать его в файл журнала. Но мне нужно и то и другое одновременно.
Это решение ниже не работает.
var process = new Process
{
StartInfo = new ProcessStartInfo
{
RedirectStandardOutput = true,
UseShellExecute = false,
FileName = exeName,
Arguments = arguments,
CreateNoWindow = createNoWindow,
RedirectStandardError = true,
RedirectStandardInput = true,
WorkingDirectory = workingDir ?? Environment.CurrentDirectory,
WindowStyle = ProcessWindowStyle.Hidden
}
};
process.Start();
process.OutputDataReceived += (sendingProcess, outLine) =>
{
outputText.AppendLine(outLine.Data); // capture the output
Console.Out.WriteLine(outLine.Data); // echo the output
};
process.ErrorDataReceived += (sendingProcess, errorLine) =>
{
errorText.AppendLine(errorLine.Data); // capture the error
Console.Error.WriteLine(errorLine.Data); // echo the error
};
process.BeginOutputReadLine();
process.BeginErrorReadLine();
process.WaitForExit();