Processクラスを使用してC#でプロセスを実行しようとしています。c#redirect(pipe)別のプロセスに出力を処理する
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";
私は何を意図するxyz.exe -infoようなものです| grepを1234
が、これは.NETで動作するようには思えない..私は実際には別個のものとして、別のプロセス変数と実行「はgrep」を作成することができますIAMは、上記試すよう行うにはどのような方法がある場合、プロセスは..しかし、私は自分のプロセスとしてcmdを使う行うことであろう。..
私は正確にこの質問をカバーして、このブログの記事を見つけました:[プロセス/ ProcessStartInfoクラスのパイプ出力リダイレクションを使用して...](http://weblogs.asp.net/justin_rogers/archive/2004/02/27/ 81370.aspx) –
CMDを使用しない場合は、[MedallionShell](https://github.com/madelson/MedallionShell)ライブラリを参照してください。プロセスストリームリダイレクション(およびプロセス管理の他の側面)をはるかに簡単にします。 – ChaseMedallion