中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-07-13 06:53
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 是否为停顿时间而烦恼? 进来看看有收获! 查看 1,807 回复 3
楼 主 是否为停顿时间而烦恼? 进来看看有收获! 发表于 2006-09-20 21:33 ·  中国 广东 广州 荔湾区 电信
中级用户
★★
积分 259
发帖 112
注册 2006-09-18 04:55
19年会员
UID 62928
性别 男
状态 离线
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 ]
附件
choice.zip (16.13 KiB, 下载附件所需积分 1 点, 下载次数: 27)
2 发表于 2006-09-20 22:46 ·  中国 湖北 武汉 电信
中级用户
★★
积分 245
发帖 103
注册 2006-06-30 00:00
20年会员
UID 57801
性别 男
状态 离线
呵呵……如果延迟时间来处理的话,可以用ping也能满足要求,
3 发表于 2006-09-21 20:05 ·  中国 江苏 苏州 电信
银牌会员
★★★
积分 1,181
发帖 533
注册 2006-08-14 12:54
19年会员
UID 60484
状态 离线
2003 倒是有 choice 用
4 发表于 2009-05-01 12:25 ·  中国 广东 佛山 电信
新手上路
积分 1
发帖 1
注册 2007-10-25 23:04
18年会员
UID 100793
性别 男
状态 离线
谢了,,正想要这个
论坛跳转: