프로세스 클래스를 사용하여 C#에서 프로세스를 실행하려고합니다.C# 프로세스를 다른 프로세스로 리다이렉트 (파이프 처리)
Process p1 = new process();
p1.startinfo.filename = "xyz.exe";
p1.startinfo.arguments = //i am building it based on user's input.
p1.start();
그래서 사용자 입력에 따라 인수 값을 작성합니다. 이제 내가 p1의 출력을 grep과 같은 다른 프로세스로 파이프해야하는 경우가 있습니다. 그래서 나는 기본적으로 이것을 시도했다.
p1.startinfo.arguments = "-info | grep 1234"; 실제로 별도의 같은 다른 프로세스 변수 및 실행 "그렙"을 만들 수 있습니다 .. 그렙 1234
그러나 이것은 .NET에서 작동하지 않는 것 | 내가 의도
는 xyz.exe -info 같은 것입니다 프로세스 ..하지만 만약 내가 위에 시도하는 것처럼 어떤 방법으로 궁금 해서요.
정확하게이 질문을 다루는이 블로그 기사가 발견되었습니다. [Process/ProcessStartInfo 클래스에서 파이프 출력 리디렉션 사용] (http://weblogs.asp.net/justin_rogers/archive/2004/02/27/) 81370.aspx) –
CMD를 사용하지 않으려면 [MedallionShell] (https://github.com/madelson/MedallionShell) 라이브러리를 확인하십시오. 프로세스 스트림 리디렉션 (및 프로세스 관리의 다른 측면)을 훨씬 단순하게 만듭니다. – ChaseMedallion