C#アプリケーションから実行する外部実行ファイルを2つ設定するにはどうしたらよいですか?あるプロセスオブジェクトのstdoutを別のプロセスオブジェクトのstdinにリダイレクト
私はProcessオブジェクトを使って外部プログラムを実行する方法を知っていますが、 "myprogram1 -some -options | myprogram2 -some -options"のような方法はありません。私はまた、2番目のプログラム(この例ではmyprogram2)の標準出力をキャッチする必要があります。
PHPで私はこれを行うだろう:
$descriptorspec = array(
1 => array("pipe", "w"), // stdout
);
$this->command_process_resource = proc_open("myprogram1 -some -options | myprogram2 -some -options", $descriptorspec, $pipes);
と$パイプは、[1]チェーンの最後のプログラムからの標準出力になります。 C#でこれを達成する方法はありますか?
この種のコードを大量に使用している場合は、Windows PowerShellをチェックアウトすることができます。 – TrueWill
私は実際にLinuxでこれをやっていますが、ヒントをいただきありがとうございます! – Matthew
私は配管オペレータについて知らなかったので、あなたに感謝するためにログインしました。それは素晴らしいオペレータです。 http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/redirection.mspx?mfr=true – jocull