2013-07-09 84 views
6

好的,你知道如何在CMD中输入pause时,它会显示'按任意键继续...'。我该如何改变这种说法,比如“按一个键继续......”?更改暂停消息

最后,我编写了一个批处理文件。我想知道发生了什么,如果我有类似的东西:

@echo off 
cls 
pause 
pause 
pause 
pause 

它似乎跳过一下停顿当你按下一个键。我很好奇,知道跳过这些暂停的规则。 谢谢。

+0

我无法重现跳过的暂停行为。如预期的那样,它总是暂停4次,等待4次按键。 – dbenham

+0

对于跳过的“PAUSE”命令,请勿使用箭头键。 – Y2Que

回答

7

执行暂停命令时,无法更改显示的文本。它被绑定到Windows安装的语言包。你唯一能做的就是不要让它做任何事pause>nul。 当然,有不同的方法来模拟pause;请参阅其他答案中的示例,其中使用set /p。然而随着pause>nul,你可以这样做:

echo Custom pause message

pause>nul

这应该工作。

而对于暂停命令跳过,这很可能是由于在下一个暂停命令已被执行的同时按下了键(尽管我猜不出这是否是命令行为)。

1

你可能想尝试

set /p=your message 

注意:你必须按下回车键继续与任意键。

9

与Deniz Zoeteman几乎相同,不同之处在于此版本将闪烁光标与您的自定义消息显示在同一行上,正如通常的PAUSE命令一样。 Deniz Zoeteman解决方案在消息下方显示闪烁的光标。

<nul set /p "=Press a key to proceed..." 
pause >nul 
+0

谢谢!这有帮助! – user2507295

+0

如果这是你需要的东西,请确保将答案设置为接受的答案:) –

0

这是一个实际的应用:

组/ P =按下ENTER键,进入或Ctrl-C以中止。

1

选项#1:

@回响

回声按任意键继续或Ctrl-C以中止。

暂停> NUL

选项#2

组/ P =按下任意键继续或Ctrl-C以中止。

- 我更喜欢选项#1的屏幕输出。