Windows 批次档中产生延时效果
Windows 中撰写批次档时会需要等一段时间后再执行程式,像我用批次档挂载网路磁碟后,必需要再网路磁碟里面执行某个程式时,丹尼会等约3秒让它挂载顺利后再执行程式。
要让批次档中产生延时效果丹尼提供几个Windows内建的程式,利用程式的特性产生以秒为单位的延时功能。
Ping
Ping提供测试封包是否有传达到指定的主机IP,使用参数n
让Ping产生1次封包测试及参数w
每次等候时间1000毫秒的组合产生1秒的延时,
ping 127.0.0.1 -n 1 -w 1000
秒数要增加时变更参数n
的值,例如要延时5秒就改成:
ping 127.0.0.1 -n 5 -w 1000
Timeout
这个命令在Windows Vista之后才提供的,所以Windows Vista/7/8/10执适用,除之外外像Windows XP就请使用Ping
的方式。第一次使用执行
timeout /?
此命令会列出参数使用方式,参数非常的简单又少,等下会使用到参数T
TIMEOUT [/T] timeout [/NOBREAK] 描述: 这个公用程式接受逾时参数,等候指定的时间长度 (单位是秒数) 或等到按了键以后。 它同时也接受参数。 参数清单: /T timeout 指定等候的秒数。 有效范围介于 -1 和 99999 秒之间。 /NOBREAK 略过按键,等候指定的时间长度。 /? 显示这个说明讯息。 注意事项: 等候逾时的值如果是 -1 则表示一直等候按键。 范例: TIMEOUT /? TIMEOUT /T 10 TIMEOUT /T 300 /NOBREAK TIMEOUT /T -1
范例使用timeout
产生延时1秒
timeout /t 1
执行后结果会有进行倒数提示,如下:
等候 1 秒后,请按任何一个键继续…
范例中能看到提示上有写请按任何一个键继续…
,代表你可以按任何一键就能让延时的秒数失效,所以再增加NOBREAK
让它真正的要等到秒数到时才能离开
timeout /t 1 /nobreak
执行后,如果要强制取消必需要按下组合键CTRL + C
等候 1 秒后,按 CTRL+C 结束…
- 如何在批次档(Batch)中实现 sleep 命令让任务暂停执行 n 秒](https://blog.miniasp.com/post/2009/06/24/Sleep-command-in-Batch.aspx)
参考资料
更新日志
日期 | 内容 |
---|---|
2017/07/26 | 初版 |
关键字
- 批次档 延时
- 批次档 Delay
- 批次档 Sleep
- Batch Delay
- Batch Sleep
- 批次档 暂停 Sleep Delay