Windows控制台输出与stdout有何不同?

时间:2018-07-05 06:54:53

标签: windows stdout

我们要在Windows应用程序中运行cipher.exe(这是典型Windows安装的一部分),在本例中为D:驱动器:

cipher.exe /w:D:\

在Windows命令行中,输出为:

To remove as much data as possible, please close all other applications while
running CIPHER /W.
Writing 0x00
...................................................................................................
Writing 0xFF
...................................................................................................
Writing Random Numbers
...................................................................................................

那些带有点的线在加密过程中逐渐填充。我们认为应该从stdout中读取这些点来跟踪进度。但是,当捕获或重定向标准输出时,顺序将有所不同:

cipher.exe /w:D:\ > out.txt

生成具有以下内容的文件:

To remove as much data as possible, please close all other applications while
running CIPHER /W.
Writing 0x00
Writing 0xFF
Writing Random Numbers
...................................................................................................
...................................................................................................
...................................................................................................

这是怎么回事? Windows控制台上的输出与stdout的输出有何不同?有没有办法使这项工作有效,即检测输出的那些点?还是以其他方式跟踪进度?

ps。如果要复制,请确保将其运行在几乎完整的小型驱动器上,以免花费很长时间。

0 个答案:

没有答案