[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] 批处理怎样判断等待了几秒钟?

批处理里有没有这样的代码。效果是:判断用户是否有键盘输入,如果没有输入任何字符,等待几秒后自动跳转到某个语句上。

这里跳转部分可以用GOTO。但是如果判断等待了几秒钟。这个判断代码该怎么写。记得VBS好象可以。但是是否可以不外接VBS,靠纯批处理来完成,可否。谢谢!

我试过了用PING方法,但是和我要的效果也不一样的
代码如下:
  1. @echo off
  2. ping -n 3 127.1>nul
  3. set /p i=请输入字母
  4. if /i "%i%"=="A" goto :goon
  5. echo woaini
  6. pause
  7. exit
  8. :goon
  9. echo 您输入了字母%i%
  10. pause>nul
复制代码
只能延时,但是无法在请输入字母那里等待3秒钟,然后自动跳转。

TOP

choice。。。
***共同提高***

TOP

恩。知道了。谢谢!

CHOICE /T 秒数,还有SLEEP。不过这2个都需要外部程序支持。在纯DOS下如果没有CHOICE。EXE或WSC的话就会提示不是内部或外部命令

TOP

可以用start /b开启子进程,父进程负责延时,子进程判断用户是否有键盘操作。
这个在旧帖子里面有的

TOP

choice。。。

XP下没有这个命令 用的话上dos里找一个
解释执行的脚本语言与编译语言还是有很大差别的。。。

TOP

可以用start /b开启子进程,父进程负责延时,子进程判断用户是否有键盘操作。
这个在旧帖子里面有的
zm900612 发表于 2011-5-21 19:29


我找了4个关键字:延时、等待、子进程、父进程。都没有你说的这个帖子。不知道是不是要把“可以用start /b开启子进程,父进程负责延时,子进程判断用户是否有键盘操作。”这里的所有字都做为关键字查找一遍呢。或者组合,以2个字组合为例,那么就有15!/(15-2)!种排列情况。那我该找到什么时候才能找到我要的帖子啊。呵呵!望直接告诉我那个帖子在哪吧,谢了。

TOP

6# techon


win7下又有了……

TOP

一个倒数十秒备份、可以任意键中断的bat:
  1. @echo off
  2. echo %cmdcmdline%
  3. if "%~1"=="按任意键退出" goto :%1
  4. >"%temp%\.sub" cd.
  5. start "" /b %0 按任意键退出
  6. set 退格键=
  7. for /l %%a in (10 -1 1) do (
  8.      set /p =%退格键%%%a 秒后开始备份文件... [按任意键退出] <nul
  9.      if not exist "%temp%\.sub" exit
  10.      ping -n 2 127.1 >nul
  11. )
  12. echo,
  13. echo 备份完成。
  14. echo 按任意键退出...
  15. exit
  16. :按任意键退出
  17. pause >nul
  18. del "%temp%\.sub"
  19. exit
  20. pause
复制代码

TOP

返回列表