标题: [日期时间] 写了一个修改日期的批处理,如果需要用会批处理同步回网络时间,怎么写呢 [打印本页]
作者: q995855 时间: 5 天前 09:41 标题: 写了一个修改日期的批处理,如果需要用会批处理同步回网络时间,怎么写呢
假设我修改时钟退回任意时间日期,在没自动恢复时(可以没写自动回调记录),怎么写一个批处理来快速同步回去正确时间,大概用来好些方法都不能同步到时间恢复正确日期,只能通过手动开关自动更新时间设置。以下是尝试过的方法:
@echo off
:: 检查是否以管理员身份运行
net session >nul 2>&1
if %errorLevel% == 0 (
echo 脚本已以管理员身份运行。
goto :main
) else (
echo 脚本需要以管理员身份运行。
echo 正在重新启动脚本以获取管理员权限...
powershell -Command "Start-Process cmd -ArgumentList '/c %~f0' -Verb runAs"
exit
)
:main
:: 停止并重新启动 Windows 时间服务
net stop w32time
net start w32time
:: 配置时间同步服务器
w32tm /config /manualpeerlist:"time.nist.gov" /syncfromflags:manual /reliable:yes /update
w32tm /resync
w32tm /resync
:: 切换到另一个时间同步服务器
w32tm /config /manualpeerlist:"time.windows.com" /syncfromflags:manual /reliable:yes /update
w32tm /resync
w32tm /resync
echo 时间同步完成!
pause
作者: ygqiang 时间: 5 天前 21:05
回复 1# q995855 - @echo off
-
- set year=2021
- set day=/11/10
- set tim=23:59:55
- echo %day%
- date %year%%day%
- time %tim%
- echo %date%-%time%
- pause
-
- w32tm /unregister
- net stop w32time
- w32tm /register
- net start w32time
- reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32time\Config" /v MaxNegPhaseCorrection /t reg_dword /d 999999999 /f
- reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32time\Config" /v MaxPosPhaseCorrection /t reg_dword /d 999999999 /f
- net stop w32time
- net start w32time
- w32tm /resync
- w32tm /resync
复制代码
作者: q995855 时间: 5 天前 23:34
回复 q995855
ygqiang 发表于 2025-1-3 21:05
感谢大佬指点,还有一个问题,如果是没网情况下会同步失败,能读取到最新的一个时间来修正系统日期的吗?批处理能不能做到这个的
作者: ygqiang 时间: 3 天前 07:32
回复 3# q995855
没网就不知道怎么处理了
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |