時鐘同步

保持 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
目錄