背景和需求
家裏的老機器電池壞了,老爸不會整,說查個天氣預報還要把日期打全才行,不然顯示的就是幾年前的天氣預報,問能不能整下。
於是,我就想找一個軟件,雙擊下就校對下時間,最好不需要安裝,開機也不要自啓動,也不要整成系統服務,就是平時不要佔系統任何資源,因爲家裏的機器實在是不行。
解決方案
在網上整了一圈,發現我這種需求還真是難滿足。Windows自己的同步功能,又沒有開機同步這一說,同步間隔也不能設置太小。
最後參考了這種兩篇文章,編了點js的程序,搞定。
http://oicu.cc.blog.163.com/blog/static/12303947120103276153104/
http://blog.csdn.net/cnming/article/details/2200970
JScript程序
var oShell = new ActiveXObject("WScript.Shell");
var ret;
var i, j;
var ntpServers = ["210.72.145.44", "133.100.11.8", "203.117.180.36", "stdtime.gov.hk",
"130.149.17.21", "clock.via.net", "133.100.9.2", "ntp.nasa.gov"];
RETRYLOOP:
for(i=0;i<20;i++) {
for(j=0;j<ntpServers.length;j++) {
ret = oShell.Run("ntpdate -u -b -t 20 " + ntpServers[j], 0, true);
if(ret == 0) {
//WScript.Echo("同步成功:" + "第" + i + "次" + ntpServers[j]);
break RETRYLOOP;
}
}
}
oShell = null;
if(i>=20) {
WScript.Echo("更新時間失敗,網絡可能有問題!\n檢查網絡後,重試!");
}
整個解決方案,下載地址:http://download.csdn.net/detail/windtailljj/3967829