Board logo

标题: [日期时间] 局域网内时间同步批处理小工具 [打印本页]

作者: neorobin    时间: 2010-9-8 23:43     标题: 局域网内时间同步批处理小工具

net time \\TIMESRV /set /yes
即可用于局域网时间同步, 以下我加了些检测和提示的代码, 将些代码保存为文件 netimeset, 可双击运行,
也可放入系统启动项中, 格式用 netimeset.bat server -x  或者 netimeset.bat 192.168.1.2 -x 就可把本机时间同步为 server 的时间 或者 192.168.1.2 所属机器的时间了

测试环境: WinXP SP3 CHS
  1. @echo off & setlocal enableDelayedExpansion
  2. >nul chcp 936
  3. :remself 将时间同步到指定计算机
  4. REM 格式如下
  5. REM netTimeSet [TIMESRV [-x]]
  6. REM TIMESRV 指定时间服务器(可用其 IP^), 不指定将提示输入时间服务器名
  7. REM -x 有此参数程序将自动退出, 而不等待用户查看信息
  8. title 时间同步到指定计算机 %1
  9. if "%1" neq "" (
  10.   set TIMESRV=%1
  11. ) else (
  12.   if "!TIMESRV!"=="" set /p TIMESRV=请输入时间同步服务器名或 IP(不要输入\\^):
  13. )
  14. echo pinging !TIMESRV! ...
  15. for /l %%i in (1,1,3) do (
  16.   ping -n 1 !TIMESRV! | find /i "TTL=" && (
  17.     net time \\!TIMESRV! /set /yes | find "命令成功完成" && (
  18.       msg /time:3 * 从 !TIMESRV! 获取时间并成功同步在 !date! !time!
  19.       if /i "%2"=="-x" exit
  20.       <nul set /p=任意键退出...& >nul pause
  21.       exit
  22.     ) || (
  23.       echo 第 %%i 次时间同步到 !TIMESRV! 失败
  24.     )
  25.   ) || (echo 第 %%i 次未能 ping 通到 !TIMESRV!)
  26. )
  27. msg /time:3 * 本机时间为: !date! !time!, 时间同步失败^!
  28. if /i "%2"=="-x" exit
  29. <nul set /p=任意键退出...& >nul pause
  30. REM start control date/time
  31. exit
复制代码





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