Board logo

标题: [日期时间] 有没有人测试过,ping 127.0.0.1 -n 3600 能刚好1小时吗? [打印本页]

作者: wkl17    时间: 2015-11-7 19:22     标题: 有没有人测试过,ping 127.0.0.1 -n 3600 能刚好1小时吗?

有没有人测试过,ping 127.0.0.1 -n 3600 能刚好1小时吗?
作者: pcl_test    时间: 2015-11-7 19:26

近似
作者: DAIC    时间: 2015-11-7 23:29

不能刚好。
作者: yu2n    时间: 2015-11-8 00:00

ping 的参数 n 与时间秒无直接关系。但可用以下方式实现ping来精确控制延时,精确度1秒,最短1秒,最长1天。
  1. :: BAT纯批处理延时,精确到1秒 By Yu2n
  2. :: 示例:
  3. :: 1. 延时 10 秒:
  4. :: call :xSleep  10
  5. :: 2. 延时23小时:
  6. :: call :xSleep  82800
  7. :: 注意:不支持超过一天的延时(应小于86400秒)
  8. :: 代码如下
  9. @echo off
  10. setlocal enabledelayedexpansion
  11. call :xSleep 10
  12. pause
  13. goto :eof
  14. :: Call :xSleep_loop 5
  15. goto :eof
  16. :xSleep
  17.   if not defined time_start (
  18.     set/a n_sleep=%~1
  19.     set time_start=%time%
  20.     call :xSleep_Count !time_start!
  21.     if not defined n_star set/a n_star=!dt1c!
  22.   )
  23.   call :xSleep_count %time%
  24.   set/a n_now=%dt1c%
  25.   set/a n_check=%n_star% + %n_sleep% - %n_now%
  26.   if %n_check% geq 0 (
  27.     if "%n_check%" neq "%n_check_last%" echo %n_check% %hns%
  28.     set n_check_last=%n_check%
  29.     ping -w 500 -n 2 0.0.0.0 >nul
  30.     goto :xSleep
  31.   )
  32.   goto :eof
  33. :xSleep_Count
  34.   set dt1=%~1
  35.   for /f "delims=: tokens=1,2,3*" %%i in ("%dt1%") do (
  36.     set dt1h=%%i
  37.     if "!dt1h:~0,1!"=="0" set/a dt1h=!dt1h:~1,1!
  38.     set dt1n=%%j
  39.     if "!dt1n:~0,1!"=="0" set/a dt1n=!dt1n:~1,1!
  40.     set dt1s=%%k
  41.     set dt1s=!dt1s:~0,2!
  42.     if "!dt1s:~0,1!"=="0" set/a dt1s=!dt1s:~1,1!
  43.   )
  44.   set "hns=%dt1h%:%dt1n%:%dt1s%"
  45.   set/a dt1c=(%dt1h% * 60 * 60) + (%dt1n% * 60) + (%dt1s%)
  46.   set/a dt1c=%dt1c% %% (60 * 60 * 24)
  47.   goto :eof
复制代码

作者: DAIC    时间: 2015-11-8 17:11

推荐使用 timeout 命令
作者: wkl17    时间: 2016-8-30 17:31

回复 4# yu2n


    好些时间没上论坛了。感谢分享!
作者: wkl17    时间: 2016-8-30 17:32

推荐使用 timeout 命令
DAIC 发表于 2015-11-8 17:11



    好吧,用了这么多年cmd/bat,今天第一次知道有timeout这个程序/命令..
作者: wkl17    时间: 2016-8-30 17:33

还是因为缺乏足够系统的学习啊..之前记得从论坛下载过一些chm还是其他格式的教程,不知道给丢哪里去了.

如果哪位有觉得很不错的资源 麻烦推荐一下..谢谢.
作者: Batcher    时间: 2016-8-30 18:27

回复 7# wkl17


    XP系统没有,Win7有,慢慢积累吧,没有啥教程能走捷径。




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2