命令提示符挂起直到按键?

Raz*_*orm 58 windows-7 terminal command-line

问题:

出于某种原因,有时我的命令提示符会挂起,直到我按下一个随机键,它会继续运行,就好像什么也没发生一样。

发生:

当我运行长时间操作(例如构建/编译一些代码)时会发生这种情况。当它挂起时,它不会指示发生了什么,也不会提示我按任何键。

描述:

  1. 几分钟后,终端停止打印进度,并卡住。
  2. 我原以为它只是停留在编译过程的一个很长的部分,但几个小时后它仍然停留在完全相同的地方。
  3. 我随便按了一个键,它突然往后一跳,继续喷出进度指示,继续工作。

此后,类似事件在冗长的过程中发生了多次,例如复制文件。

这发生在运行 Windows 7 的多个设备上。它也发生在使用 bash shell 的 ubuntu 上。

小智 36

我也遇到过同样的问题。此处此处的答案表明这可能是控制台中快速编辑模式的问题。例如,如果它拦截了杂散的鼠标点击,或者如果点击错误地通过 RDP,它可能会无意中暂停脚本。您可以右键单击菜单栏并编辑属性以关闭快速编辑模式。当然,这使得从 CMD 窗口复制和粘贴变得更加困难。

  • 我在 windows 上看到这个已经 20 年了。它出现和消失了很多次......我认为它的微软没有做适当的回归测试,因为它每隔几年来一次 (5认同)

phu*_*clv 5

旧的 Windows 控制台有一个称为“标记模式”的单独模式,用于选择文本。在该模式下,屏幕将被冻结以便于选择

标记模式

如果启用了快速编辑模式(默认情况下,在旧版 Windows 中禁用该模式,但在 Windows 10 中启用),则在控制台窗口内单击将激活标记模式并导致您观察到的结果

很容易意外单击控制台并停止命令。当您按下EnterEsc时,所选文本将被复制到剪贴板,并且退出标记模式,因此该过程将再次运行

以下是 Windows 8 控制台中的快速编辑模式设置示例:

指令

要解决此问题,如果不需要,可以禁用快速编辑模式。在这种情况下复制会比较麻烦,因为必须打开上下文菜单,选择“编辑”>“标记”。如果您正在编写自己的控制台应用程序,您还可以通过设置ENABLE_QUICK_EDIT_MODE来禁用快速编辑模式SetConsoleMode()

但更好的解决方案是使用Windows 终端,它明显更好、更快、功能更强大、更强大

也可以看看


归档时间:

查看次数:

39120 次

最近记录:

5 年,9 月 前