如何在Windows命令行上保留程序的所有输出?


31

假设您有一个可以提供大量输出的程序。不幸的是,命令提示符似乎并不能全部保留(到目前为止,您只能向上滚动)。

有没有办法保留所有这些?

Answers:


28

如果只想向上滚动并查看输出(可以在属性中配置),则增加缓冲区大小是最好的方法。

如果要附加到文件,则在出现以下任何情况时也可能需要这些错误:

C:\> somecommand.exe>“ C:\ path \ to \ output.txt” 2>&1

如果要使用寻呼机,则Windowsmore更少

例:

C:\> somecommand.exe | 减

然后,您可以f用来向前或b向后翻页。


我认为最全面的答案。恰好是JohnT。您知道什么。
纳撒尼尔(Nathaniel)2010年

@Nathaniel,那是一件坏事= [] ... :)
约翰T

不,我只是想戳你和莫莉。我认为我实际上并不需要那么多要点。看上去不像一个人的名字那么漂亮。
纳撒尼尔(Nathaniel)2010年

@JohnT,用于增加缓冲区大小的cmd命令(与UI相对)是什么?
Pacerier,2015年

1
仅供参考,您需要配置Layout> Screen Buffer Size> Height,不Options> Command History> Buffer Size
mythofechelon '16

8

要将输出捕获到文件中,请参阅其他答案。您还可以增加文本的数量,以使您可以向后滚动并看到一个上限。

在命令提示符窗口打开的情况下,单击标题栏中的[C:]图标以调出菜单并选择属性。在“布局”选项卡下,将“屏幕缓冲区大小”->“高度”更改为9999。这将允许您向后滚动窗口中的这么多行。


7

如果要使用Windows XP,可以附加到命令中吗 | more

或者,您可以使用

命令重定向运算符


页面为您提供更多信息。


3
more自DOS的黑暗时代以来就存在...
Joey

5

将结果输出到文件中,如下所示:

C:> RunMyProgram.exe > outputfile.txt

+1我打算回答这个问题,但我一直在寻找一种更好的方法,却没有看到。您可以将缓冲区的大小增加到999,将缓冲区的数目增加到999,但是根据“大量输出”的大小,这可能不切实际,尤其是当您保存它时。您的程序需要用户交互,因此您必须阅读文本文件才能知道问题所在,以便您进行回答。太糟糕了,Windows没有办法转储日志并保持显示缓冲区正常。
Scott McClenning,2010年

@Scott:输出缓冲区的数量与可以显示多少行无关。在某种程度上,它们就像图形的帧缓冲区;您可以写信给他们,然后将显示切换到另一个。但是,缓冲区大小可以达到9999,足以满足大多数需求。
乔伊(Joey)

3

您可以在属性的命令历史记录上增加缓冲区大小(默认为50)。您可以尝试将其设置为500甚至5000,这样您就可以向上滚动很多。

另一种方法是使用“>” char将输出重定向到文件:

例如:

C:> someCommand> output.txt

而不是打开txt文件,您应该在此处看到该命令的输出。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.