Process.Start() получить ошибки из окна командной строки
Я пытаюсь запустить команду promt process с помощью args. Теперь я хочу получить информацию об ошибках, если они существуют.
someProcess = System.Diagnostics.Process.Start(cmd, someArgs);
С уважением, loviji
Ответы
Ответ 1
Другие ответы верны. Вот какой код вы можете использовать:
ProcessStartInfo startInfo = new ProcessStartInfo(cmd, args);
startInfo.UseShellExecute = false;
startInfo.RedirectStandardError = true;
Process someProcess = Process.Start(startInfo);
string errors = someProcess.StandardError.ReadToEnd();
Обратите внимание, что если файл не найден, вы не получите ошибку при стандартной ошибке. Вместо этого вы получите исключение.
Ответ 2
Возможно, вы ищете StandardError
свойство.
Ответ 3
Process.StandardError
Свойство:
Возвращает поток, используемый для чтения вывода ошибки приложения.
Это должно делать то, что вы хотите.
Примечание
Чтобы использовать StandardError, вы должны установить ProcessStartInfo.UseShellExecute значение false, и вы должны установить ProcessStartInfo.RedirectStandardError до true. В противном случае чтение из потока StandardError генерирует исключение.