- ·上一篇文章:用VBS可执行程序+Xmlhttp下载备份网上文件的代码
- ·下一篇文章:一个让右下角显示本机机号的批处理
- ·百度中搜索更多的关于“(VBS+cmd)国家授时中心时间同步器”相关内容
- ·谷歌中搜索更多的关于“(VBS+cmd)国家授时中心时间同步器”相关内容
- ******申明******
- 本站文章内容有部分为收录网络中其他网友内容,DOS资源站不保证所有的代码都适合你使用。
- 由于编辑匆忙,有可能造成某些脚本文件出现丢失代码或代码无法运行的情况,请网友根据情况自行修改。
- 如果能将出错部分反馈给我,那就更好了。
(VBS+cmd)国家授时中心时间同步器
网吧客户机时间错误,将导致部分游戏无法正常运行,先前利用系统的“Windows Time”服务同步时间,有时候会因为网络堵塞,导致程序无法退出CMD进程卡住,为了避免此问题,以下提供一种以获取“国家授时中心网络服务器时间发布的时间”方法。
脚本工作原理:
脚本先下载http://www.time.ac.cn/stime.asp页面内容保存为stime.txt,再通过批处理分析出日期和时间数据,利用分析出的数据重新调整系统的日期和时间,之前做了一次读取当前日期和时间信息作为无法获取网络数据时候的备用数据,以防止无法获取网络时间而导致系统时间修改错误。
注:程序运行需要VBS支持,程序经过RAR自解压缩打包,VBS消DOS黑框处理,程序解压缩目录为 %TEMP% 。
同步时间代码
@echo off
echo On Error Resume Next >mht.vbs
echo Dim fso, save, FileName, URL, HTML, cdo >>mht.vbs
echo Set fso = CreateObject("Scripting.FileSystemObject") >>mht.vbs
echo URL = "http://www.time.ac.cn/stime.asp" >>mht.vbs
echo FileName = "stime.txt" >>mht.vbs
echo Set cdo = CreateObject("cdo.Message") >>mht.vbs
echo cdo.CreateMHTMLBody URL,31 >>mht.vbs
echo Set save = cdo.GetStream >>mht.vbs
echo save.SaveToFile FileName,2 >>mht.vbs
echo save.Close >>mht.vbs
echo fso.DeleteFile(WScript.ScriptName) >>mht.vbs
mht.vbs
set d=%date:~0,10%
set hh=%time:~0,2%
set mm=%time:~3,2%
for /f "tokens=1,2,3,4,5 delims='年月日 " %%i in ('type stime.txt^|find "document.write('20"') do set d=%%j-%%k-%%l
for /f "tokens=1,2,3,4 delims=; " %%i in ('type stime.txt^|find "var hrs = "') do set hh=%%l
for /f "tokens=1,2,3,4 delims=; " %%i in ('type stime.txt^|find "var min = "') do set mm=%%l
date %d%
time %hh%:%mm%
del stime.txt
:time_end
del %0

