如果没有stdout或stderr,命令行工具如何打印到控制台?

时间:2017-07-20 17:17:24

标签: windows cmd stdout

我有一个Windows CLI EXE,当我运行它时会打印到控制台。 这不是我可以修改的程序。

我将它包装在Gradle Exec任务中,它显然正在运行,但没有任何内容被打印到屏幕上。我没有为输出配置任何特殊内容。

我再次直接运行程序,但使用1>2>将stdout和stderr重定向到文件。

因为这个程序需要3个小时才能运行,所以我会在一段时间后按下Ctrl-C并打开重定向文件。

文件中没有通常的输出。

是否可以使用退格键或其他机制来阻止捕获输出?实际控制台上的输出无法清除。任何想法都会有所帮助。

1 个答案:

答案 0 :(得分:0)

我发现同一作者的另一个程序花费的时间不长,所以我能够让它完成。

该程序实际上写入stdout,但它直到最后都没有刷新。对于该问题中的程序,这将是3个小时!我原以为刷新会影响控制台以及重定向流,但它似乎只会影响重定向。如果你想要一个动画进度微调器或类似的东西,这是有道理的。因为我无法更新程序代码。

看起来我只是没有进度更新。