c#重定向(管道)进程输出到另一个进程
我正在尝试使用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”作为一个单独的进程..但我想知道是否有任何方法可以做,因为我尝试上面..
更简单的方法是使用cmd作为您的过程。
Process test = new Process(); test.StartInfo.FileName = "cmd"; test.StartInfo.Arguments = @"/C ""echo testing | grep test"""; test.Start();
您可以捕获输出或其他任何您想要的任何正常过程。 这只是我构建的一个快速测试,但它可以输出测试到控制台,所以我希望这对你计划用管道做的任何其他事情都有效。 如果希望命令保持打开状态,则使用/ K而不是/ C,并且一旦进程完成,窗口将不会关闭。
上述就是C#学习教程:c#重定向(管道)进程输出到另一个进程分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/989313.html