У меня есть следующий код:
ProcessStartInfo psi = new ProcessStartInfo() { ИмяФайла = "powershell", Аргументы = $"-NoProfile -ExecutionPolicy Bypass -Command \"cd '{strLocation}'; & 'application.exe' 2>&1 | Tee-Object -File '{tempLogFilePath}'; Read-Host 'Нажмите Enter, чтобы закрыть...'\"", UseShellExecute = ложь, CreateNoWindow = false, // Показать окно терминала }; Это работает хорошо, за исключением того, что вывод, выводимый на терминал, не имеет цветов. Приложение.exe при запуске без перенаправления в файл журнала печатает большой объем вывода в нескольких цветах, что упрощает чтение:
См. изображение:

Однако при перенаправлении в файл журнала и на терминал вывод на терминал потерял все свое форматирование, включая цвета.
Как я могу реализовать аналогичную функциональность (сохранить вывод в журнале и показать его на терминале), но сохранить форматирование вывода на терминал?
Примечание: если есть лучшее решение, но с использованием другого терминала, кроме PowerShell, я открыт для этого варианта.
Мобильная версия