标题: 用Internet时间服务器来同步本机系统时间的批处理 [打印本页]
作者: Batcher 时间: 2009-2-23 20:10 标题: 用Internet时间服务器来同步本机系统时间的批处理
- @echo off
- cls
- color 2f
- cd /d %~dp0
- Echo.&&Echo.正在与Internet时间服务器同步……&&Echo.===================================================
- wget -N http://weasel.jgxx.com/wsqbbs/time.php >nul 2>nul
- title 瓦斯曲-同步时间服务器工具
- for /f "tokens=1,2 " %%i in (time.php) do date %%i &&time %%j
- for /f "tokens=1,2 " %%i in (time.php) do echo 同步成功!!&& echo 服务器日期 %%i 系统日期 %date% &&echo 服务器时间 %%j 系统时间 %time%
- del /f /s /q time.php >nul 2>nul
- Echo.==================================================&&Echo.按任意键退出!!&&pause>nul 2>nul
复制代码
- @echo off
- wget -N http://www.appinn.com/servertime.php
- for /f "tokens=1,2 " %%i in (servertime.php) do date %%i &&time %%j
复制代码
- //这是一段在网上找到的系统时间自动更新JS脚本,任意Web服务器都可以用来协对时间而且也不用vb来改时间,保存为*.js点击运行即可
- //get HTTP Date: response from server, return approximate dateVal object
- function getServerDate(serverHttpAddress, httpProxyAddress)
- {
- var xmlHttp = new ActiveXObject("msxml2.xmlhttp");
- if(httpProxyAddress)
- {
- setProxy(2,proxyHttpAddress.replace("http://",""));
- }
- xmlHttp.open("GET", serverHttpAddress, 0);
- ts=(new Date()).getTime();
- WScript.Echo("Start time: " + ts);
- xmlHttp.send();
- tr=new Date();
- WScript.Echo("End time: " + tr.getTime());
- WScript.Echo("Server Time: " + Date.parse( xmlHttp.getResponseHeader('Date')));
- //Thu, 1 Jan 2009 09:47:01 GMT
- tr.setTime(Date.parse( xmlHttp.getResponseHeader('Date')) + ((new Date()).getTime() - ts)/2);
- //1230805540107
- WScript.Echo("debug time: " + tr)
- return tr;
- //}
- //catch(e)
- //{
- // return 0
- //}
- }
-
- //set system time to dateString
- //http://www.microsoft.com/technet/scriptcenter/topics/networking/08_atnc_advanced.mspx
- //http://www.microsoft.com/technet/scriptcenter/guide/sas_wmi_fvwp.mspx?mfr=true
- //20030327073509.519000+480
- function setSystemDate(dateString)
- {
- WScript.Echo("End time: " + dateString);
- var oSvc = GetObject("winmgmts:\\\\.\\root\\cimv2");
- oSvc.Security_.Privileges.AddAsString("SeSystemTimePrivilege", 1);
- var e = new Enumerator(oSvc.execQuery("select * from win32_OperatingSystem", "WQL", 32));
- //for (;!e.atEnd();e.moveNext())e.item().SetDateTime(dateString);
- }
-
- //generating the right WMI DATETIME fields
- with(getServerDate("http://www.google.com/")) //和哪一个HTTP服务器进行同步
- {
- setSystemDate("" +
- getUTCFullYear() +
- (getUTCMonth()<9?"0"+(getUTCMonth()+1):(getUTCMonth()+1)) +
- (getUTCDate()<9?"0"+getUTCDate():getUTCDate()) +
- (getUTCHours()<9?"0"+getUTCHours():getUTCHours()) +
- (getUTCMinutes()<9?"0"+getUTCMinutes():getUTCMinutes()) +
- (getUTCSeconds()<9?"0"+getUTCSeconds():getUTCSeconds()) +
- ".******+***");
- }
复制代码
作者: jellykid 时间: 2009-2-24 18:15
没成功
不知道怎么回师
作者: Batcher 时间: 2009-2-24 20:26 标题: 回复 2楼 的帖子
我不知道你用的哪个代码,所以帮不上你!!!!
作者: jellykid 时间: 2009-2-25 18:44
1 2段代码都是,
3段也错误,不用解决 ,解决1 2段代码就行了
作者: Batcher 时间: 2009-2-25 20:52 标题: 回复 4楼 的帖子
不同的系统,日期时间可能不同,你可以自己先看看获取的internet日期时间格式是否和本机的一致,如果不一致,自己改改格式。
作者: tireless 时间: 2009-2-25 21:06
也可以用 vbs 下载网页文字:
批处理实现网页下载 http://www.cn-dos.net/forum/viewthread.php?tid=24394
作者: jellykid 时间: 2009-2-26 15:56
呵呵!
好象是格式的问题!
小白就是没办法!55555555...
什么时候才能学好啊!
作者: wxcute 时间: 2009-2-26 19:03 标题: 早知道有这个帖子,前段时间就不写了。
CMOS 漏电,几乎天天校时- ::从批处理之家论坛校时
- ::就是从我们论坛校时
- @echo off
- cd/d %~dp0
- echo 校时前:
- echo %date% %time%
- wget -O "%tmp%\tmp$d$t.txt" "http://bbs.bathome.net/logging.php?action=login" -q
- for /f "tokens=5,6 delims=< " %%d in ('"findstr /i "现在时间是" "%tmp%\tmp$d$t.txt""') do (
- date %%d&time %%e
- )
- del "%tmp%\tmp$d$t.txt"
- echo+
- echo 校时后:
- echo %date% %time%
复制代码
作者: Batcher 时间: 2009-2-26 19:43 标题: 回复 7楼 的帖子
每个人都是从不会到会走过来的,多潜水多练习,不必妄自菲薄。
作者: fhplove 时间: 2009-9-30 19:37 标题: 回复 4楼 的帖子
显示系统无法接受输入的时间
1,可能4楼你在输入日期时格式出现了错误(只是考虑这个问题)
2,检查你的"防火墙,杀毒软件,"是否进行了日期保护措施
个人认为第2个可能性大点,因为我曾经做万佳网络文化园的代理时,盛天易游戏管理平台为了本地游戏与服务器游戏同步并且更新主机游戏列表都与要完全跟服务器时间一直,所以保护时间了,(请确保你没在网吧测试这段代码)
作者: Batcher 时间: 2010-2-27 20:32 标题: 回复 11楼 的帖子
把wget.exe和批处理放在同一个目录
作者: zhuzhen830201 时间: 2016-10-28 22:05
有两个问题
1运行【方案一】显示system can't find the file time.php这是什么原因?
2get -N http://weasel.jgxx.com/wsqbbs/time.php >nul 2>nul的意思是什么?
作者: Bella 时间: 2016-10-28 22:44
本帖最后由 Bella 于 2016-10-29 12:22 编辑
回复 12# zhuzhen830201
windows 用自带的时间同步就行了, 默认同步频率 7 天/次, 改注册表可以精确到秒
同步服务器(IP 池) 用 ntp 官方的 pool.ntp.org, 带智能解析, 跑哪个国家都行
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |