我如何从bat / cmd文件启动控制台应用程序,所以控制台输出将在bat内?

时间:2014-06-27 17:46:59

标签: windows batch-file cmd exe startup

我试过了:

start patcher.exe pause

然后我的应用程序的新控制台窗口出现。

和此:

cmd.exe patcher.exe pause

显示cmd而不执行我的编程。

和此:

cmd.exe patcher pause

然后出现cmd,我必须输入“exit”然后我的专家开始,但在新的控制台再次。

我需要我的控制台不显示,但是在开始播放的时候写下所有消息。

2 个答案:

答案 0 :(得分:1)

从评论到您的问题,看起来应用程序本身打开另一个控制台窗口。

也许,应用程序中有一些参数可以抑制它(尝试patcher.exe /?或者查看它的文档)。如果没有,我很害怕,你被困住了。

答案 1 :(得分:1)

这不起作用的原因

cmd.exe patcher.exe

这不是您将命令传递给cmd.exe的方式。尝试

cmd.exe /C patcher.exe

cmd.exe /K patcher.exe

但是,这不太可能删除重复的控制台窗口。可能发生的是patcher.exe被标记为Windows子系统,因此它与启动它的控制台无关。然后它启动子进程,这些进程是控制台应用程序,由于没有关联的控制台,因此创建了一个新进程。

您可以尝试使用EDITBIN patcher.exe /SUBSYSTEM:CONSOLE使patcher.exe成为控制台模式程序。然后控制台将从父级传播到修补程序(子级)到孙级。但是,由于程序没有编写或测试以这种方式运行,您可能会发现一些意想不到的后果。