是否有键盘快捷键可以在CMD窗口运行时暂停其输出?


14

我正在运行一个批处理脚本,该批处理脚本花费了很长时间,并且其输出以难以理解的速度波动。是否有键盘快捷键可让您暂停CMD控制台当前要停止的位置并读取输出,然后从同一位置重新启动它?

在此处输入图片说明


5
总有CTRL-S。然后按CTRL-Q重新启动。
BillP3rd

您可以抓住滚动框并将其向上移动,这将有效地暂停滚动。然后,您可以按向下箭头键移至缓冲区底部。
Burhan Khalid

这不是“ Scroll Lock”键的预期目的吗?
TOOGAM '16

Answers:


5

我没有在其他答案中看到这一点。

我相信'Ctrl-S'XOFF和'Ctrl-Q'XON的串行控制序列是旨在解决该问题的关键序列。

请参阅;

XON / XOFF


1
由于某些原因,我将此更改为最佳答案。根据研究,“暂停/中断”键本身会暂停输出,但不会暂停执行,其他答案都没有提及。必须使用Ctrl +暂停/中断来暂停执行,并且在大多数键盘上键入此键比Ctrl + S和Ctrl + Q稍微麻烦一些(只能用左手完成)。也就是说,Ctrl + Pause / Break的优点是它不需要您记住两个额外的键绑定,因此两个答案都很好,我只想看看这个得到应有的认可。
Hashim

请注意,尽管此答案提出了Unix / Linux问题,但是这些键绑定至少在我的Windows 7 OS上可以在CMD.exe上正常工作。
Hashim

1
@Hashim,感谢您分享您的研究成果。因为您专门询问了如何暂停输出,所以我没有考虑(也没有测试)这种可能性,但是很高兴学习。(已提交)
Marc.2377'2

17

键盘上是否包含Pause/Break按键?为此将很好。这是它的外观,或至少曾经用于:

暂停来自维基百科的Break Key

作为一项有趣的奖励,此键也可以在POST(开机自检,在计算机打开时运行)期间使用,以读取BIOS的输出。

根据Wikipedia的说法,如果您没有该键,则Control+ 组合键NumLock应该可以正常工作,并且还有其他选项取决于您的制造商。

要恢复执行,请按Enter


请注意,在某些键盘上,您可能具有特定的滚动锁定键(通常标记为ScrLk),可以起到类似的作用。
Burhan Khalid

@BurhanKhalid好吧,我在该链接上读到它暂停输出,但不执行,并且这种效果似乎不适用于MS Windows控制台……但是很
高兴

1
使用ping似乎停止执行。这很奇怪,因为ping是一个离散的可执行文件。此外,在暂停时,ping.exe进程仍保留在进程浏览器中,直到被允许完成。暂停时,其所有线程都进入Wait:Executive,并且似乎没有周期性地脉动。迷人。
Frank Thomas

2
我喜欢使用的另一个技巧是用鼠标标记一些文本(我始终启用快速编辑模式)。这也会暂停输出(并因此终止执行,因为写入stdout的程序会等到写入流之后)。
ths 2016年

1

您可以使用“更多”命令。尽管这并不是您要找的东西,但它会限制页面的屏幕输出。


1
这是最好的解决方案,因为鉴于通常产生输出的速度,在正确的时刻暂停输出几乎是不可能的。为了澄清起见,您必须在命令后使用管道,再进行更多操作。例如NETSH HTTP SHOW SSLCERT | 更多
Vincent

Windows没有“更多”本地语言
KumarAnkit

1

为Linux shell添加一种更有用的方法。(但是在Windows中也可以,请尝试一下!)

ctrl+z将挂起程序。(消息:已停止)

要将其恢复为先前的状态(例如已暂停):

类型 fg

或多个用法:program_name_previously_ctrl + z_stopped `fg


0

如果我们很详尽,这里还可以添加一些其他方法:

1)除了“暂停/中断”按钮,您还可以使用“ CTRL + C”复制它的功能。

这将导致cmd脚本暂停并询问您是否要终止它。查找完成后,您可以选择“否”(如果适合,则可以选择是),然后它将继续(或者,如果您选择“是”,则退出)。

2)您也可以通过在窗口中单击鼠标光标以从CMD终端中选择文本来暂停鼠标。

您可能在过去曾注意到此暂停输出,并认为仅会延迟输出,但是当脚本在交互式cmd实例中运行时,您实际上是在暂停代码的执行(与“ Pause / Break”和“ CTRL + C”方法)。

但是,一旦窗口失去焦点,或者单击以取消暂停,代码执行将继续,并且您没有选择以这种方式结束代码。


哇,你们还年轻。从未使用过串行终端?尝试Ctrl-s / Ctrl-Q
NetScr1be

终端仿真器软件通常将XOFF / XON支持作为基本功能。通常包括现代Unix和Linux计算机上的系统控制台,以及xterm和Win32控制台等GUI模拟器。
NetScr1be

0

在Windows系统上,如果输出屏幕启用了快速编辑模式(通过配置),则只需单击屏幕并选择屏幕的任何部分。 该程序将停止执行,直到您右键单击屏幕以取消选择为止。 屏幕可能会失去焦点,并且将继续冻结,直到您回来并右键单击它。当您右键单击剪贴板时,请注意剪贴板的任何内容(如果有)都可以翻转。

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.