将管道参数发送到C#应用程序

问题描述:

我需要构建一个接受管道作为输入的简单控制台应用程序。我们正在运行Windows Server 2012.数据来自另一个将“管道”输入到此应用程序的应用程序。我从Linux的角度理解管道,但是从Windows的角度来看,他们并不能很好地理解它们。将管道参数发送到C#应用程序

我最好的猜测是,我需要输入发送到我的应用程序是这样的: C:\ APP.EXE < test.txt的

如果用“<”字我目前的理解是,它转换测试.txt添加到流中,并将传入一个指针。

我的问题是,任何人都可以给我一个如何接收流指针的例子,或者在我的应用程序的窗口中相当于管道的东西,以便我可以读取输入?

+1

可能重复的[C#控制台接收管道输入](http://*.com/questions/199528/c-sharp-console-receive-input-with-pipe) – 2013-03-20 14:02:31

+0

' wRAR 2013-03-20 14:03:56

+0

@MichaelPerrenoud我刚刚发现这篇文章,并且这对于使用管道'|'都适用。和文件输入字符' 2013-03-20 14:05:33

当您在应用程序中使用<>时,标准输入和输出流(屏幕/键盘接口)被替换为文件流。

您可以使用常规的Console.ReadConsole.ReadLine命令,从由<指令指定的流中读取,或使用Console.In这是一个TextReader

同样Console.WriteConsole.WriteLine可以用于写入由>指令,或Console.Out这是一个指定TextWriter输出流。

如果使用|管道指令,例如myapp.exe | sort,则第一个程序的输出流会进入下一个程序的输入流。