将参数传递给cmd.exe

时间:2018-10-05 14:30:38

标签: c# cmd

我知道有几篇关于将参数传递给程序的文章,但我无法解决我的问题。

我试图从我的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();

0 个答案:

没有答案