中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 是否为停顿时间而烦恼? 进来看看有收获!
作者:
标题: 是否为停顿时间而烦恼? 进来看看有收获! 上一主题 | 下一主题
kennyfan
中级用户




积分 259
发帖 112
注册 2006-9-18
状态 离线
『楼 主』:  是否为停顿时间而烦恼? 进来看看有收获!

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)
2006-9-20 21:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
flying008
中级用户





积分 245
发帖 103
注册 2006-6-30
状态 离线
『第 2 楼』:  

呵呵……如果延迟时间来处理的话,可以用ping也能满足要求,

2006-9-20 22:46
查看资料  发短消息 网志   编辑帖子  回复  引用回复
NaturalJ0
银牌会员




积分 1181
发帖 533
注册 2006-8-14
状态 离线
『第 3 楼』:  

2003 倒是有 choice 用

2006-9-21 20:05
查看资料  发短消息 网志   编辑帖子  回复  引用回复
btwhy
新手上路





积分 1
发帖 1
注册 2007-10-25
状态 离线
『第 4 楼』:  

谢了,,正想要这个

2009-5-1 12:25
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: