将管道参数发送到C#应用程序
问题描述:
我需要构建一个接受管道作为输入的简单控制台应用程序。我们正在运行Windows Server 2012.数据来自另一个将“管道”输入到此应用程序的应用程序。我从Linux的角度理解管道,但是从Windows的角度来看,他们并不能很好地理解它们。将管道参数发送到C#应用程序
我最好的猜测是,我需要输入发送到我的应用程序是这样的: C:\ APP.EXE < test.txt的
如果用“<”字我目前的理解是,它转换测试.txt添加到流中,并将传入一个指针。
我的问题是,任何人都可以给我一个如何接收流指针的例子,或者在我的应用程序的窗口中相当于管道的东西,以便我可以读取输入?
答
当您在应用程序中使用<
和>
时,标准输入和输出流(屏幕/键盘接口)被替换为文件流。
您可以使用常规的Console.Read
和Console.ReadLine
命令,从由<
指令指定的流中读取,或使用Console.In
这是一个TextReader
。
同样Console.Write
和Console.WriteLine
可以用于写入由>
指令,或Console.Out
这是一个指定TextWriter
输出流。
如果使用|
管道指令,例如myapp.exe | sort
,则第一个程序的输出流会进入下一个程序的输入流。
可能重复的[C#控制台接收管道输入](http://stackoverflow.com/questions/199528/c-sharp-console-receive-input-with-pipe) – 2013-03-20 14:02:31
' wRAR 2013-03-20 14:03:56
@MichaelPerrenoud我刚刚发现这篇文章,并且这对于使用管道'|'都适用。和文件输入字符' 2013-03-20 14:05:33