【发布时间】:2010-11-20 10:00:18
【问题描述】:
我正在尝试使用 Process 类在 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" ;
我的意思是 xyz.exe -info|grep 1234
但这似乎在.net中不起作用..我实际上可以创建另一个进程变量并将“grep”作为一个单独的进程运行..但我想知道是否有任何方法可以像上面尝试的那样做..
【问题讨论】:
-
我发现这篇博客文章正好涵盖了这个问题:Using piped output redirection on the Process/ProcessStartInfo classes...
-
如果您不想使用 CMD,请查看 MedallionShell 库。它使流程流重定向(以及流程管理的其他方面)变得更加简单。