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