标题: 是否为停顿时间而烦恼? 进来看看有收获!
[打印本页]
作者: kennyfan
时间: 2006-9-20 21:33
标题: 是否为停顿时间而烦恼? 进来看看有收获!
2K之后的系统没有choice,想实现停顿时间比较麻烦 如果各位有好的批处请贡献一下本人感激不尽
以下为我暂时所知的几个代码
1.精确度可达到0.001秒哦.3000为三秒
@echo off
echo WScript.Sleep 3000 > time.vbs
cscript //nologo time.vbs
echo %time%
for %%f in (time.vbs) do if exist %%f del %%f
endlocal & goto EOF
2.这个比较好理解,利用for解析变量%time%并存为一个时间点,再利用set计算两个时间点的时间差,最后用if判断时间差是否达到设定的暂停时间.精确度可达到0.01秒.
@echo off
call :ProcDelay 300
echo %time%
goto EOF
:ProcDelay
for /f "tokens=1-4 delims=:. " %%h in ("%time%") do set start_=%%h%%i%%j%%k
:wait
for /f "tokens=1-4 delims=:. " %%h in ("%time%") do set now_=%%h%%i%%j%%k
set /a diff_=%now_%-%start_%
if %diff_% LSS %1 goto wait
endlocal & goto EOF
3.想要最简单的还是下载个choice.exe的文件吧!可是如果去到其他人的机子里忘了带这个choice文件,那你建的批处理就基本等于废了!
choice /c y /n /t 2 /d y
[
Last edited by kennyfan on 2006-9-20 at 21:37 ]
附件
1:
choice.zip (2006-9-20 21:33, 16.13 K, 下载附件所需积分 1点
,下载次数: 27)
作者: flying008
时间: 2006-9-20 22:46
呵呵……如果延迟时间来处理的话,可以用ping也能满足要求,
作者: NaturalJ0
时间: 2006-9-21 20:05
2003 倒是有 choice 用
作者: btwhy
时间: 2009-5-1 12:25
谢了,,正想要这个