C#控制台从多批处理文件输出相同的输出

时间:2016-08-17 09:49:08

标签: c# batch-file console-application messaging

我需要一个控制台应用程序来记录来自其他外部应用程序的一些事件。 控制台应用程序的目的是在屏幕上显示外部应用程序在每个步骤执行的操作。 这个外部应用程序只能调用带参数的exe。

目标是:

  • 外部做一些工作
  • Ex呼叫控制台,显示args
  • 外部做其他工作
  • Ex呼叫控制台,显示args
  • ...

但是控制台应用程序已关闭,并在每次调用时重新打开。 我需要一个技巧来让一个控制台应用程序等待消息并显示它而不关闭,但我现在真的不知道从哪里开始看。

它可能是非常轻量级的解决方案,无需任何安装。

感谢。

修改

外部应用程序(静默运行)只能在每一步执行命令“运行程序...”(带参数的exe命令行)。

在每一步,我都必须向我的控制台应用程序发送一些信息,以便将输出写入用户以及更多内容。我想要一个独特的输出,而不是每一步都有一个新的控制台应用......

主要思想是让后台运行控制台应用程序等待来自外部应用程序的消息以发送信息。

它是一种带有参数的lauch控制台应用程序,不要停止并使用新参数调用它,但我不认为这是可能的。

我无法在机器上安装工具,因为我公司的许多设备上都可以部署解决方案,我无法在每台设备上安装服务或数据库。

您将使用什么样的解决方案?控制台应用程序是否可以等待传入消息并捕获它们?

1 个答案:

答案 0 :(得分:0)

有许多不同的方法;

  • 进程间沟通 - 这里可能有点矫枉过正
  • 共享文件 - 简单但容易出错
  • 其他共享存储(数据库或消息服务) - 可能是我推荐的方式

使用数据库方法,您的应用程序将插入'日志'将每个作业放入数据库表中。然后,控制台应用程序可以使用简单的While循环循环,读取行并显示它们。这可以更具伸缩性,因为您可以使用日志来重新启动作业等。