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

本文关键字:可执行文件 参数 脚本 何通过 标准输入 | 更新日期: 2023-09-27 18:36:29

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

除了创建一个临时脚本文件并将其作为参数传递之外,是否有一种可接受的方法可以在 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);
}

任何帮助都非常感谢!

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

添加

psi.UseShellExecute = false;

在开始该过程并且应该工作之前,请测试您自己创建一个项目(控制台)并使用 Console.ReadLine()