与命令行应用程序进行交互的最佳方式

我需要为与命令行应用程序紧密交互的应用程序编写一个组件。 命令行应用程序询问一系列问题,执行一些计算,然后终止(我需要检测)。 基本上,我想在包装类中包装这个交互。

有没有人在过去取得类似的成绩? 如果是的话,你是怎么做到的? 你有没有注意到一个模式,或者可以在类中使用一些好的构build? 干杯!

您需要使用Process重定向输入和输出流; 处理这两个操作有点棘手,因为你需要小心,缓冲区中的东西不会丢失(导致死锁)。

  • MSDN: 重定向输入
  • MSDN: 重定向输出
  • 这是一个基本的替代例子。

您可能还想查看OutputDataReceived以获取基于事件的响应。

如果所有的应用程序都是用dotnet开发的,你可以使用Assembly类