暂停批处理程序的处理
暂停批处理程序的处理,显示提示,Press any key to continue . . .请按任意键继续...
一、pause语法
pause
参数
| 参数 | 说明 |
|---|---|
| /? | 在命令提示符下显示帮助。 |
注解
- 如果按 Ctrl+C 停止批处理程序,将显示以下消息,
Terminate batch job (Y/N)?。 如果按“Y”(表示“是”)响应此消息,批处理程序将结束,同时控制权返回到操作系统。 - 可以在可能不想处理的批处理文件的某个部分之前插入 pause 命令。 当 pause 暂停批处理程序时,可以按 Ctrl+C,然后按“Y”停止批处理程序。
示例
1、要创建用于提示用户更改其中一个驱动器中磁盘的批处理程序,请键入:
@echo off
:Begin
copy a:*.*
echo Put a new disk into Drive A
pause
goto begin
在此示例中,驱动器 A 中磁盘上的所有文件都被复制到当前目录。 在消息提示将新磁盘放入驱动器 A 后,pause 命令会暂停处理,以便用户可以更改磁盘,然后按任意键继续处理。 此批处理程序以无限循环运行 - goto begin 命令将命令解释器发送到批处理文件的 Begin 标签。
2、 pause>nul
如果在pause后加重定向至nul文件(也即空文件),那么最后pause指令输出的提示信息就不会被显示在屏幕上,而是消失不见了,显示的是一个空行。
3、修改中断提示信息(echo和pause搭配)
如果不想要在中断处显示“请按任意键继续”(依据字符编码的不同,也可以是“Press any key to continue . . .”)的提示信息,可以结合echo指令进行修改。
如下图所示,通过在pause指令行前加一个echo xxx的指令(xxx为修改后的提示信息),并且pause搭配重定向至空文件的pause>nul,就可以实现看起来的中断提示信息更改
chcp 65001
@echo off
echo mhg
echo ......
echo ......
echo ......
echo 过了十分钟后...
echo 现在按任意键即可继续
pause>nul
如果你学过操作符【&】,那么其实也可以用【echo 修改后提示信息 & pause>nul】来替代上面的两行。
4、pause用于避免瞬间关闭cmd窗口
什么叫保留cmd窗口呢?如果你是新建一个cmd窗口再往里面写命令,就不存在这个需要。
但是如果你是在bat批处理文件中写好dos命令,然后执行bat文件,一般来说就需要保留cmd窗口了。
因为批处理文件中的所有命令执行完毕后会自动执行exit退出指令,直观上呈现的是窗口的一闪而过,可能你执行没执行这个文件(或执行过程是否有错误)你都不是很清楚。
所以,为了让窗口不一闪而过,保留执行的结果记录,我们就需要用到pause命令。
例如下面的代码块对应某bat文件,如果删掉最后一行,echo的语句显示的结果是无法直观地显现出来的。
chcp 65001
@echo off
echo mhg
echo ......
echo ......
echo ......
echo 过了十分钟后...
echo 现在按任意键即可继续玩耍啦
pause











网友评论