时钟同步

保持 Windows 时钟同步。

时钟同步 是一个简单的命令行脚本,可让您的 Windows 时钟保持同步。
在某些系统中,由于不同的原因,Windows 时钟可能经常不同步。
这个小工具应该可以解决这个问题。
ClockSync 是用 Batch 语言编写的。

如果您正在寻找一个程序来保持系统时间准确,那么您已经找到了!

  • 免费
  • 开源
  • 小:小于 2 kb
  • 快速和容易使用
  • 适用于从 Win7 到 Win10 的任何 Windows,包括服务器版本。
    支持 32 位和 64 位操作系统。
用法:
  1. 确保您已连接到Internet。
  2. 以管理员权限运行 ClockSync.bat 文件。

ClockSync 将自动执行第一次同步。
之后,它会在一个时间间隔上执行周期性同步。
默认情况下,它每 10 分钟同步一次时间。

如果你想指定一个 自定义重新同步间隔,使用“分钟”命令参数运行文件。
例如,以下命令每 60 分钟同步一次时钟:
“时钟同步.bat 60”

细节:

ClockSync 将通过与您的默认 Internet 时间服务器执行定期同步来保持您的系统时钟准确。

如果 Windows 时间服务或 Internet 时间同步被禁用,ClockSync 将重新启动它们。
即使 ClockSync 未运行,这也有助于保持系统时钟准确。

源代码:

ClockSync.bat:

@echo off
echo * ClockSync v1.0
echo * BreakingSecurity.net
echo.
:: Check that we own administrator access level. 
echo [INFO] Checking Access Level...
net session >nul 2>&1
if %errorLevel% == 0 (
	:: We have the necessary rights, go forward
	echo [INFO] Administrative Access confirmed.
) else (
	:: Error, insufficient privileges. Exit program.
	echo [ERROR] Insufficient Access Level. Please restart script with administrative permission.
	echo.
	echo Press any key to exit...
	pause > nul
	exit
)
:: Check command-line parameter.
:: User can specify any number of minutes for the Resync interval.
:: If there is no user-specified parameter, default one is used.
set /A minutes = 10
if not "%1" == "" (
	set /A minutes=%1
)
:loop
:: Synchronize Clock
:: Use /force parameter to bypass "time change too big" error
w32tm /resync /force
if not errorlevel 0 (
	:: If Error, restart time service
    echo [WARNING] Time Service error. Restarting service...
	net stop w32time
    w32tm /unregister
    w32tm /register
    net start w32time
	w32tm /resync /force
	if not errorlevel 0 (
		:: Unknown error, exit program.
		echo [ERROR] Unknown error.
		echo.
		echo Press any key to exit...
		pause > nul
		exit
	)
)
echo.
echo [SUCCESS] Clock successfully synchronized!
echo Date: %date%
echo Time: %time%
echo.
:: Sleep
set /A seconds = %minutes% * 60
echo [INFO] Sleeping for %minutes% minutes until next synchronization...
echo.
ping 127.0.0.1 -n %seconds% > nul
:: Repeat
goto loop
菜单