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- @echo off & setlocal enableDelayedExpansion
- >nul chcp 936
- :remself 将时间同步到指定计算机
- REM 格式如下
- REM netTimeSet [TIMESRV [-x]]
- REM TIMESRV 指定时间服务器(可用其 IP^), 不指定将提示输入时间服务器名
- REM -x 有此参数程序将自动退出, 而不等待用户查看信息
- title 时间同步到指定计算机 %1
- if "%1" neq "" (
- set TIMESRV=%1
- ) else (
- if "!TIMESRV!"=="" set /p TIMESRV=请输入时间同步服务器名或 IP(不要输入\\^):
- )
- echo pinging !TIMESRV! ...
-
- for /l %%i in (1,1,3) do (
- ping -n 1 !TIMESRV! | find /i "TTL=" && (
- net time \\!TIMESRV! /set /yes | find "命令成功完成" && (
- msg /time:3 * 从 !TIMESRV! 获取时间并成功同步在 !date! !time!
- if /i "%2"=="-x" exit
- <nul set /p=任意键退出...& >nul pause
- exit
- ) || (
- echo 第 %%i 次时间同步到 !TIMESRV! 失败
- )
- ) || (echo 第 %%i 次未能 ping 通到 !TIMESRV!)
- )
- msg /time:3 * 本机时间为: !date! !time!, 时间同步失败^!
- if /i "%2"=="-x" exit
- <nul set /p=任意键退出...& >nul pause
- REM start control date/time
- exit
复制代码
|