找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 30013|回复: 8

[日期时间] [已解决]局域网内,机器之间的时间如何用批处理实现同步?

[复制链接]
发表于 2011-9-30 13:53:19 | 显示全部楼层 |阅读模式
局域网内,有很多机器。都装xp系统,有不少机器的时间都不对(可能是cmos电池没有电了)

上面这种情况,如何设置一台机器作为时间服务器(比如服务器ip是:10.10.94.254),让其他机器都来用它同步时间?


可以在每一台机器开机进入xp系统的时候,运行一个bat文件,来实现这个要求吗?

(最好加上判断,如果能连接上时间服务器10.10.94.254,就同步;如果不能连接上,就不同步,也不弹出窗口)

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

 楼主| 发表于 2011-9-30 14:02:07 | 显示全部楼层
本帖最后由 ygqiang 于 2011-9-30 14:07 编辑

服务器也装xp系统,时间是正确的

如果将时间不对的机器(有不少),与服务器同步到一样的时间(包括日期、时间)?

同步时间不需要很精确的,大体正确就可以。
 楼主| 发表于 2011-9-30 14:26:35 | 显示全部楼层
net time \\10.10.94.254 /set /y

这个bat命令,会不会有弹出窗口的情况?

可以实现开机启动,在后台运行吗?
 楼主| 发表于 2011-9-30 14:29:32 | 显示全部楼层
还有个问题:

如何加个备用的同步服务器?

如果10.10.94.254连接不通,就用备用的10.10.127.254来同步。
发表于 2011-9-30 14:33:14 | 显示全部楼层
方法一、采用系统自带的时间同步功能
以Vista操作系统为例,单击系统托盘下方的时间,单击弹出窗口里的“更改日期和时间设置”,弹出“日期和时间”对话框,选择“Internet时间”选项卡,单击“更改设置”按钮,弹出“Internet时间设置”对话框,在服务器地址栏输入国家授时中心服务器的IP地址:210.72.145.44,单击“立即更新”按钮,同步完成后点击“确定”按钮退出,OK。

方法二、修改注册表,提高时间同步精度
由于系统默认的时间同步间隔是7天,我们无法自由选择,使得这个功能在灵活性方面大打折扣。其实,我们也可以通过修改注册表来手动修改它的自动同步间隔以提高同步精度,以下以Vista系统为例。
1. 在“开始”菜单→“运行”项下(或按Win+R)输入“Regedit”进入注册表编辑器。
2. 展开[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\
Parameters]分支,双击NtpServer将键值修改为国家授时中心服务器的IP地址:210.72.145.44,然后点击“确定”按钮保存。(注:若已用过方法一,此步可以省略)
3. 展开[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\
TimeProviders\NtpClient]分支,并双击SpecialPollInterval键值,将对话框中的“基数栏”选择到“十进制”上,输入框中显示的数字正是自动对时的间隔(以秒为单位),比如默认的604800就是由7(天)×24(时)×60(分)×60(秒)计算来的。设定时间同步周期(建议设为900=15分钟或3600=1小时等周期值),填入对话框,点击确定保存关闭对话框。
 楼主| 发表于 2011-9-30 15:20:43 | 显示全部楼层
本帖最后由 ygqiang 于 2011-10-2 08:48 编辑
  1. net time \\10.10.94.254 /set /y
复制代码
  1. ping 10.10.94.254 && net time 10.10.94.254 /y /set || (ping 10.10.127.254 && net time 10.10.127.254 /y /set)
复制代码
  1. @echo off
  2. set server1=10.10.94.254
  3. set server2=10.10.127.254
  4. ping %server1% -n 1 >nul 2>nul && net time \\%server1% /set /y && exit /b 0
  5. ping %server2% -n 1 >nul 2>nul && net time \\%server2% /set /y && exit /b 0
  6. pause

复制代码
备用,待测试。
 楼主| 发表于 2011-10-2 08:47:42 | 显示全部楼层
顶。。。。
发表于 2011-10-2 09:23:49 | 显示全部楼层
回复 7# ygqiang


方法已经有了,还顶啥子?
 楼主| 发表于 2011-10-6 18:39:00 | 显示全部楼层
本帖最后由 ygqiang 于 2011-10-6 19:04 编辑


  1. set server1=10.10.94.254
  2. set server2=10.10.127.254
  3. ping %server1% -n 1 >nul 2>nul && net time \\%server1% /set /y && goto :dltrun
  4. ping %server2% -n 1 >nul 2>nul && net time \\%server2% /set /y && goto :dltrun


  5. :dltrun
  6. cls
  7. ...其他代码

复制代码
时间同步服务器上需要运行:net user Guest /active:yes
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 03:04 , Processed in 0.022638 second(s), 11 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表