-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathwin_time_fix_v0.1.bat
55 lines (47 loc) · 1.35 KB
/
win_time_fix_v0.1.bat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
@echo off
REM Script para tentar corrigir a conexão com o servidor time.windows.com
REM Lista de servidores de horário
set "servers=pool.ntp.org"
REM Definição do tempo máximo para cada teste (em segundos)
set "timeout=30"
set "found=false"
REM Percorre a lista de servidores
for %%s in (%servers%) do (
set "counter=%timeout%"
set "server=Testando o servidor: %%s"
<nul set /p "=%server% "
call :countdown
echo.
echo Tentando sincronizar com o servidor %%s
w32tm /config /manualpeerlist:%%s /syncfromflags:manual /reliable:yes /update
net stop w32time
net start w32time
w32tm /resync /force
w32tm /config /update
w32tm /resync
w32tm /query /status | findstr /i "sincronizado"
if not errorlevel 1 (
echo Sincronizado com sucesso com o servidor %%s
tzutil /s "E. South America Standard Time"
set "found=true"
goto :end
) else (
echo Falha ao sincronizar com o servidor %%s
)
)
if "%found%"=="false" (
echo Nenhum servidor foi capaz de sincronizar o relógio.
)
:end
pause
exit /b
:countdown
setlocal enabledelayedexpansion
for /l %%i in (1,1,%timeout%) do (
set /a "remaining=!counter! - %%i"
<nul set /p "=!remaining! segundos restantes..." >nul
ping -n 2 127.0.0.1 >nul
<nul set /p "=%BS%" >nul
)
endlocal
exit /b