当 BAT 批处理脚本执行结束后,会自动关闭命令行窗口,这会使用户无法查看运行结果,或者是运行中出现的错误。本文将介绍使用如下 3 种方法使命令行窗口不退出:

  • 使用 pause 命令(推荐)
  • 使用 timeout 延时关闭(也挺好)
  • 使用 cmd 命令

如上方法适用于 Windows 全系统。

使用 pause 命令(推荐)

pause 命令的作用是暂停,命令执行完后会进入暂停状态,这是最简单有效最好用的方法。

在脚本的最后一行添加 pause 命令:

timeout /t 5
pause

输出:

等待 5 秒,按一个键继续 ...

命令执行的效果:

  • 执行完所有命令后显示"请按任意键继续..."
  • 按任意键后窗口关闭

使用 timeout 延时关闭

timeout 的作用是延时关闭,倒计时结束时会自动关闭,可以按任意键结束倒计时,所以可以设置一个比较大的数(如:500)作为倒计时:

ping 127.0.0.1 -n 5
timeout /t 500

输出信息:

正在 Ping 127.0.0.1 具有 32 字节的数据:
来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=128
来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=128
来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=128
来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=128
来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=128

127.0.0.1 的 Ping 统计信息:
    数据包: 已发送 = 5,已接收 = 5,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 0ms,最长 = 0ms,平均 = 0ms

D:\全部下载\FDM>timeout /t 500

等待 495 秒,按一个键继续 ...

使用该命令的优势:

  • 忘记关闭命令行时,倒计时结束时会自动关闭窗口。
  • 可按任意键关闭窗口,和 pause 命令的作用相同

使用 cmd 命令

cmd 命令的作用是,在 bat 脚本运行结束后,重新打开命令行,打开的命令行会显示之前执行的命令信息:

修改脚本启动方式,在快捷方式或运行命令中添加 /k 参数:

:: 创建快捷方式时使用以下目标
cmd /k "D:\你的脚本.bat"

该命令的缺点:

  • 执行后保持命令窗口开启
  • 需手动输入 exit 关闭,或者点击关闭按钮关闭窗口

结语

掌握这 3 种方法后,你将能轻松控制 BAT 脚本运行结束后的不关闭窗口。