如何通过标准输入将脚本作为可执行文件的参数进行管道传输

时间:2013-10-22 16:39:51

标签: c#

我有一个可执行文件(购买的工具),它接受它自己的脚本语言形式。我想用我们自己的代码包装该可执行文件以改进功能。

除了创建临时脚本文件并将其作为参数传递之外,是否有可接受的方法在C#中执行此操作?

目前我正在尝试这样的事情:

System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo();
psi.FileName = "PathToExe";    
psi.RedirectStandardInput = true;

using (System.Diagnostics.Process p = System.Diagnostics.Process.Start(psi))
{
    using (System.IO.StreamWriter stdin = p.StandardInput)
    {
        stdin.Write("script line one");
        stdin.Write("script line two");
        stdin.Flush();

    }

    p.WaitForExit(10000);
}

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

添加

psi.UseShellExecute = false;

在开始该过程之前应该有效,测试你自己创建一个项目(控制台)并使用Console.ReadLine()