2011-01-31 4 views
0

Итак, я написал консольное приложение на C#, которое выплескивает материал на консоль (в моем случае, некоторый XML). Теперь я вызываю это консольное приложение с другого компьютера с помощью PsExec; вызов работает нормально и выходит с кодом ошибки 0 (что означает успех), однако я не могу получить/увидеть вывод, записанный в стандартный вывод командной строки моим консольным приложением.PSExec: перенаправление вывода приложения консоли C# в окно/Diagnostics.Process?

Мой вызов выглядит что-то вроде:

"C:\Program Files\PSTools\psexec.exe" 
    <machineName> 
    -u <user> 
    -p <password> 
    "C:\..\..\consoleapp.exe" 
    -arg1 "value" 

Я заметил, что когда я запускаю это, он хлопает открыть второе окно, кроме Psexec окна (что предположительно мое консольное приложение), который открывается и закрывается очень быстро. Я попытался добавить флаг -i, перенаправлять 2> & 1, >> C: output.txt и> C: \ output.txt, ни один из которых не выводит вывод моего консольного приложения в исходное окно консоли [что имеет psexec в нем], а также не удаляет вывод консольного приложения в файл.

Это промежуточная цель, однако я пытаюсь перенаправить этот вывод в объект System.Diagnostics.Process, которому удалось перенаправить только вывод psexec в stderror (то есть «подключение PSexec к ... exited с кодом 0 "). Stdout пустой, что я хотел бы содержать вывод моего консольного приложения.

Любые предложения?

ответ

Смежные вопросы