Процесс. Запустите (), получают ошибки от окна командной строки

Я пробую к команде Start процесс PROMT с args. Теперь я хочу получить информацию об ошибках, если они существуют.

someProcess = System.Diagnostics.Process.Start(cmd, someArgs);

С наилучшими пожеланиями, loviji

11
задан loviji 25 April 2010 в 17:43
поделиться

3 ответа

Остальные ответы верны. Вот код, который вы можете использовать:

ProcessStartInfo startInfo = new ProcessStartInfo(cmd, args);
startInfo.UseShellExecute = false;
startInfo.RedirectStandardError = true;
Process someProcess = Process.Start(startInfo);
string errors = someProcess.StandardError.ReadToEnd();

Обратите внимание, что если файл не найден, вы не получите сообщение об ошибке при стандартной ошибке. Вместо этого вы получите исключение.

12
ответ дан 3 December 2019 в 07:36
поделиться

Вероятно, вы ищете свойство StandardError .

2
ответ дан 3 December 2019 в 07:36
поделиться

Process.StandardError Свойство :

Получает поток, используемый для чтения вывода ошибок приложения.

Это должно делать то, что вы хотите.

Примечание

Чтобы использовать StandardError, вы должны установить для ProcessStartInfo.UseShellExecute значение false, а для ProcessStartInfo.RedirectStandardError - значение true. В противном случае чтение из потока StandardError вызывает исключение.

2
ответ дан 3 December 2019 в 07:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: