[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

用Internet时间服务器来同步本机系统时间的批处理

  1. @echo off
  2. cls
  3. color 2f
  4. cd /d %~dp0
  5. Echo.&&Echo.正在与Internet时间服务器同步……&&Echo.===================================================
  6. wget -N http://weasel.jgxx.com/wsqbbs/time.php >nul 2>nul
  7. title 瓦斯曲-同步时间服务器工具
  8. for /f "tokens=1,2 " %%i in (time.php) do date %%i &&time %%j
  9. for /f "tokens=1,2 " %%i in (time.php) do echo 同步成功!!&& echo 服务器日期 %%i 系统日期 %date% &&echo 服务器时间 %%j 系统时间 %time%
  10. del /f /s /q time.php >nul 2>nul
  11. Echo.==================================================&&Echo.按任意键退出!!&&pause>nul 2>nul
复制代码
  1. @echo off
  2. wget -N http://www.appinn.com/servertime.php
  3. for /f "tokens=1,2 " %%i in (servertime.php) do date %%i &&time %%j
复制代码
  1. //这是一段在网上找到的系统时间自动更新JS脚本,任意Web服务器都可以用来协对时间而且也不用vb来改时间,保存为*.js点击运行即可
  2. //get HTTP Date: response from server, return approximate dateVal object
  3. function getServerDate(serverHttpAddress, httpProxyAddress)
  4. {
  5. var xmlHttp = new ActiveXObject("msxml2.xmlhttp");
  6. if(httpProxyAddress)
  7. {
  8. setProxy(2,proxyHttpAddress.replace("http://",""));
  9. }
  10. xmlHttp.open("GET", serverHttpAddress, 0);
  11. ts=(new Date()).getTime();
  12. WScript.Echo("Start time: " + ts);
  13. xmlHttp.send();
  14. tr=new Date();
  15. WScript.Echo("End time: " + tr.getTime());
  16. WScript.Echo("Server Time: " + Date.parse( xmlHttp.getResponseHeader('Date')));
  17. //Thu, 1 Jan 2009 09:47:01 GMT
  18. tr.setTime(Date.parse( xmlHttp.getResponseHeader('Date')) + ((new Date()).getTime() - ts)/2);
  19. //1230805540107
  20. WScript.Echo("debug time: " + tr)
  21. return tr;
  22. //}
  23. //catch(e)
  24. //{
  25. // return 0
  26. //}
  27. }
  28. //set system time to dateString
  29. //http://www.microsoft.com/technet/scriptcenter/topics/networking/08_atnc_advanced.mspx
  30. //http://www.microsoft.com/technet/scriptcenter/guide/sas_wmi_fvwp.mspx?mfr=true
  31. //20030327073509.519000+480
  32. function setSystemDate(dateString)
  33. {
  34. WScript.Echo("End time: " + dateString);
  35. var oSvc = GetObject("winmgmts:\\\\.\\root\\cimv2");
  36. oSvc.Security_.Privileges.AddAsString("SeSystemTimePrivilege", 1);
  37. var e = new Enumerator(oSvc.execQuery("select * from win32_OperatingSystem", "WQL", 32));
  38. //for (;!e.atEnd();e.moveNext())e.item().SetDateTime(dateString);
  39. }
  40. //generating the right WMI DATETIME fields
  41. with(getServerDate("http://www.google.com/")) //和哪一个HTTP服务器进行同步
  42. {
  43. setSystemDate("" +
  44. getUTCFullYear() +
  45. (getUTCMonth()<9?"0"+(getUTCMonth()+1):(getUTCMonth()+1)) +
  46. (getUTCDate()<9?"0"+getUTCDate():getUTCDate()) +
  47. (getUTCHours()<9?"0"+getUTCHours():getUTCHours()) +
  48. (getUTCMinutes()<9?"0"+getUTCMinutes():getUTCMinutes()) +
  49. (getUTCSeconds()<9?"0"+getUTCSeconds():getUTCSeconds()) +
  50. ".******+***");
  51. }
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

没成功
不知道怎么回师

TOP

回复 2楼 的帖子

我不知道你用的哪个代码,所以帮不上你!!!!
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

1 2段代码都是,
3段也错误,不用解决  ,解决1 2段代码就行了

TOP

回复 4楼 的帖子

不同的系统,日期时间可能不同,你可以自己先看看获取的internet日期时间格式是否和本机的一致,如果不一致,自己改改格式。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

也可以用 vbs 下载网页文字:

批处理实现网页下载 http://www.cn-dos.net/forum/viewthread.php?tid=24394

TOP

呵呵!
好象是格式的问题!
小白就是没办法!55555555...
什么时候才能学好啊!

TOP

早知道有这个帖子,前段时间就不写了。

CMOS 漏电,几乎天天校时
  1. ::从批处理之家论坛校时
  2. ::就是从我们论坛校时
  3. @echo off
  4. cd/d %~dp0
  5. echo 校时前:
  6. echo %date% %time%
  7. wget -O "%tmp%\tmp$d$t.txt" "http://bbs.bathome.net/logging.php?action=login" -q
  8. for /f "tokens=5,6 delims=< " %%d in ('"findstr /i "现在时间是" "%tmp%\tmp$d$t.txt""') do (
  9.  date %%d&time %%e
  10. )
  11. del "%tmp%\tmp$d$t.txt"
  12. echo+
  13. echo 校时后:
  14. echo %date% %time%
复制代码
1

评分人数

TOP

回复 7楼 的帖子

每个人都是从不会到会走过来的,多潜水多练习,不必妄自菲薄。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 4楼 的帖子

显示系统无法接受输入的时间   

1,可能4楼你在输入日期时格式出现了错误(只是考虑这个问题)
2,检查你的"防火墙,杀毒软件,"是否进行了日期保护措施

    个人认为第2个可能性大点,因为我曾经做万佳网络文化园的代理时,盛天易游戏管理平台为了本地游戏与服务器游戏同步并且更新主机游戏列表都与要完全跟服务器时间一直,所以保护时间了,(请确保你没在网吧测试这段代码)

TOP

回复 11楼 的帖子

把wget.exe和批处理放在同一个目录
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

有两个问题
1运行【方案一】显示system can't find the file time.php这是什么原因?
2get -N http://weasel.jgxx.com/wsqbbs/time.php >nul 2>nul的意思是什么?

TOP

本帖最后由 Bella 于 2016-10-29 12:22 编辑

回复 12# zhuzhen830201


windows 用自带的时间同步就行了, 默认同步频率 7 天/次, 改注册表可以精确到秒
同步服务器(IP 池) 用 ntp 官方的 pool.ntp.org, 带智能解析, 跑哪个国家都行

TOP

返回列表