这段时间经常遇到Win7系统时间不正确,导致程序无法运行问题,每次手动校正时间比较麻烦,所以想到使用批处理和任务计划结合的方式处理,在网上查了很久才找到方法,总是有各种问题,下面我把整个流程写下了以备下次使用:
第一步:先新建一个文件,文件名改为“时间同步.bat”,文件内容:
@echo off
net stop w32time
net start w32time
w32tm /config /manualpeerlist:"time.nist.gov" /syncfromflags:manual /reliable:yes /update
w32tm /resync
w32tm /resync
w32tm /config /manualpeerlist:"time.windows.com" /syncfromflags:manual /reliable:yes /update
w32tm /resync
w32tm /resync
echo 同步结束!
pause
第二步:运行“时间同步.bat”,可能会出现一下错误:
问题一:发生下列错误: 拒绝访问。 (0x80070005)
发生下列错误: 服务尚未启动。 (0x80070426)
解决方法:打开“服务”(services.msc),找到“Windows Time”将启动类型修改为“自动”。
第三步:重新运行“时间同步.bat”,可能会出现一下错误:
问题二:将 resync 命令发送到本地计算机
此计算机没有重新同步,因为没有可用的时间数据。
将 resync 命令发送到本地计算机
此计算机没有重新同步,因为要求的时间更改太大。
解决方法:修改注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config中MaxPosPhaseCorrection和MaxNegPhaseCorrection的值为0xFFFFFFFF。
这个后期有时间将这个修改注册表的值加入到批处理文件中。
第三步:再次重新运行“时间同步.bat”,成功了。