也可以看看

也可以看看

问题:

由于某种原因,我的命令提示符偶尔会挂起,直到我按下一个随机键,它才会继续运行,好像什么都没发生一样。

发生:

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

描述:

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

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

这发生在多台运行 Windows 7 的设备上。在使用 bash shell 的 Ubuntu 上也发生过这种情况。

答案1

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

答案2

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

标记模式

如果启用了快速编辑模式(默认情况下在旧版 Windows 中已禁用在 Windows 10 中启用)然后单击控制台窗口内部将激活标记模式并产生你所观察到的结果

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

以下是 Windows 8 控制台中 QuickEdit 模式设置的示例:

命令

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

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

也可以看看

答案3

我找到了这个回答,它在 Windows 10 20H2 上对我有用。诀窍似乎是,

powercfg -change -standby-timeout-ac 0

相关内容