标题: [其他] 批处理怎样判断等待了几秒钟? [打印本页]
作者: fengyun530 时间: 2011-5-21 18:17 标题: 批处理怎样判断等待了几秒钟?
批处理里有没有这样的代码。效果是:判断用户是否有键盘输入,如果没有输入任何字符,等待几秒后自动跳转到某个语句上。
这里跳转部分可以用GOTO。但是如果判断等待了几秒钟。这个判断代码该怎么写。记得VBS好象可以。但是是否可以不外接VBS,靠纯批处理来完成,可否。谢谢!
作者: fengyun530 时间: 2011-5-21 18:35
我试过了用PING方法,但是和我要的效果也不一样的
代码如下:- @echo off
- ping -n 3 127.1>nul
- set /p i=请输入字母
- if /i "%i%"=="A" goto :goon
-
- echo woaini
- pause
- exit
-
- :goon
- echo 您输入了字母%i%
- pause>nul
复制代码
只能延时,但是无法在请输入字母那里等待3秒钟,然后自动跳转。
作者: batman 时间: 2011-5-21 18:48
choice。。。
作者: fengyun530 时间: 2011-5-21 19:17
恩。知道了。谢谢!
CHOICE /T 秒数,还有SLEEP。不过这2个都需要外部程序支持。在纯DOS下如果没有CHOICE。EXE或WSC的话就会提示不是内部或外部命令
作者: CrLf 时间: 2011-5-21 19:29
可以用start /b开启子进程,父进程负责延时,子进程判断用户是否有键盘操作。
这个在旧帖子里面有的
作者: techon 时间: 2011-5-21 19:36
XP下没有这个命令 用的话上dos里找一个
作者: fengyun530 时间: 2011-5-21 23:57
可以用start /b开启子进程,父进程负责延时,子进程判断用户是否有键盘操作。
这个在旧帖子里面有的
zm900612 发表于 2011-5-21 19:29
我找了4个关键字:延时、等待、子进程、父进程。都没有你说的这个帖子。不知道是不是要把“可以用start /b开启子进程,父进程负责延时,子进程判断用户是否有键盘操作。”这里的所有字都做为关键字查找一遍呢。或者组合,以2个字组合为例,那么就有15!/(15-2)!种排列情况。那我该找到什么时候才能找到我要的帖子啊。呵呵!望直接告诉我那个帖子在哪吧,谢了。
作者: applba 时间: 2011-5-21 23:59
6# techon
win7下又有了……
作者: CrLf 时间: 2011-5-22 14:35
一个倒数十秒备份、可以任意键中断的bat:- @echo off
- echo %cmdcmdline%
- if "%~1"=="按任意键退出" goto :%1
- >"%temp%\.sub" cd.
- start "" /b %0 按任意键退出
- set 退格键=
-
- for /l %%a in (10 -1 1) do (
- set /p =%退格键%%%a 秒后开始备份文件... [按任意键退出] <nul
- if not exist "%temp%\.sub" exit
- ping -n 2 127.1 >nul
- )
-
- echo,
- echo 备份完成。
-
- echo 按任意键退出...
- exit
-
- :按任意键退出
- pause >nul
- del "%temp%\.sub"
- exit
-
- pause
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |