我知道有几篇关于将参数传递给程序的文章,但我无法解决我的问题。
我试图从我的C#代码中向程序传递一些参数。
在添加参数/c < input.txt | program2 > output.txt
时,我得到了System.InvalidOperationException
。
在不传递任何参数的情况下,代码可以正常工作,并且program1
开始。
我无法弄清楚如何正确解释我的论点。
可能使用<
,>
,|
以及参数中还有第二个程序的事实使我陷入困境?
在cmd
中工作正常。
我的代码:
var myProcess = new System.Diagnostics.Process
{
StartInfo = new System.Diagnostics.ProcessStartInfo
{
FileName = "program1",
Arguments = "/c < input.txt | program2 > output.txt",
UseShellExecute = false,
RedirectStandardOutput = true,
CreateNoWindow = false
}
};
myProcess.Start();
while (!myProcess.StandardOutput.EndOfStream)
{
string line = myProcess.StandardOutput.ReadLine();
}
myProcess.WaitForExit();