Csharp/C#教程:c#重定向(管道)进程输出到另一个进程分享


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

(0)
上一篇 2021年12月23日
下一篇 2021年12月23日

精彩推荐