无忧启动论坛

标题: 批处理讨论 [打印本页]

作者: 2010fengyun    时间: 2011-1-8 15:27
标题: 批处理讨论
if not exist %temp%\sleep.exe ping 127.0.0.1 -n 20 >nul 2>nul
%temp%\sleep.exe 20s
前面的判断临时目录下sleep.exe存在否的看懂了。但是不明白为何其后要再加ping 127.0.0.1 -n 20 >nul 2>nul,有何意义或作用吗?
作者: sgw888    时间: 2011-1-9 09:12
就是为了实现延时,仅此而已。 第一句,判断有没有SLEEP。EXE,如果没有,就利用PING命令PING一下本机的IP,127。0。0。1指的是本机,后面的-N 20就是次数,也就是延时20秒吧。
>nul 2 >nul 是为了屏蔽不必要的显示内容。
后面的你应该知道吧就是使用SLEEP。EXE来实现延时20S。 不过,我觉得判断还是有问题,万一没有SLEEP。EXE,那岂不是运行出错? 应该也加个判断,或者是屏蔽显示。
作者: 2010fengyun    时间: 2011-1-9 21:17
原帖由 sgw888 于 2011-1-9 09:12 发表
就是为了实现延时,仅此而已。 第一句,判断有没有SLEEP。EXE,如果没有,就利用PING命令PING一下本机的IP,127。0。0。1指的是本机,后面的-N 20就是次数,也就是延时20秒吧。
>nul 2 >nul 是为了屏蔽不必要的 ...

明白了,谢谢!
作者: 2010fengyun    时间: 2011-1-9 21:18
难道批处理没有其他延时的代码吗?

非得用ping 127.0.0.1 -n 20 >nul 2>nul这种方法来变相延时,感觉有点怪!
作者: sgw888    时间: 2011-1-10 09:49
没办法,要不就用SLEEP。EXE,这个好像是第三方程序。
作者: 2010zjy    时间: 2011-1-12 14:13
进来学习..!谢谢!
作者: thx1234    时间: 2011-1-15 17:03
标题: 这个可以实现微秒级延时
:sleep
::usage: call sloop [time in millisecond]
set param=%1
if [%param%]==[] SET param=2000
echo wscript.sleep(%1)>s.vbs
cscript //nologo s.vbs
del /Q /F s.vbs 1>NUL 2>&1
GOTO :EOF




欢迎光临 无忧启动论坛 (http://wuyou.net./) Powered by Discuz! X3.3