本帖最后由 thp2008 于 2022-10-18 15:25 编辑
我有台虚拟机,因为经常会暂停的原因,再次启用,会导致时间不同步,如果时间相差不大,点自动同步就可以同步时间。但是一旦时间相差较多,比如相差两天了,就自动同步不了时间了。必须手动,设置成当天的日期,和大概差不多的时间,才能进行时间同步。所以,我在想,写个脚本,直接从互联网上获取日期时间,设置一下系统。再进行同步,这样就没有问题了。
我在网上搜了一下,找到以下这个脚本,但是运行出错。- @echo off
- title 获取网络时间
- cd /d "%tmp%"
- (
- echo With CreateObject("Microsoft.XMLHTTP"^)
- echo .open "GET", "http://time.tianqi.com/", False
- echo .send
- echo s = Split(.responseText, "var timestamp = "^&""""^)^(1^)
- echo s = Split(s,""""^)^(0^)
- echo s = left(s,10^)
- echo End With
- echo WSH.Echo DateAdd("s", s * 1, "1970-1-1 8:00"^)
- )>getTime.vbs
- for /f "tokens=1*" %%i in ('cscript //nologo gettime.vbs') do date %%i & time %%j
- echo 设置完成!
- pause
复制代码 出错提示如下:- C:\Users\Web\AppData\Local\Temp\gettime.vbs(4, 1) Microsoft VBScript 运行时错误: 下标越界: '[number: 1]'
复制代码 我搜了一下,可能是因为http://time.tianqi.com/这个网站提供的时间格式跟我的系统不同,但我又不知道该如何调整。
或者,你们有什么更好的方法。VBS\POWERSHELL\BAT都行。只要能实现我的这个需求就行了。感谢。
系统是Windows 10 x64 22H2 |