[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[日期时间] 写了一个修改日期的批处理,如果需要用会批处理同步回网络时间,怎么写呢

假设我修改时钟退回任意时间日期,在没自动恢复时(可以没写自动回调记录),怎么写一个批处理来快速同步回去正确时间,大概用来好些方法都不能同步到时间恢复正确日期,只能通过手动开关自动更新时间设置。以下是尝试过的方法:
@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

回复 1# q995855
  1. @echo off
  2. set year=2021
  3. set day=/11/10
  4. set tim=23:59:55
  5. echo %day%
  6. date %year%%day%
  7. time %tim%
  8. echo %date%-%time%
  9. pause
  10. w32tm /unregister
  11. net stop w32time
  12. w32tm /register
  13. net start w32time
  14. reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32time\Config" /v MaxNegPhaseCorrection /t reg_dword /d 999999999 /f
  15. reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32time\Config" /v MaxPosPhaseCorrection /t reg_dword /d 999999999 /f
  16. net stop w32time
  17. net start w32time
  18. w32tm /resync
  19. w32tm /resync
复制代码

TOP

回复  q995855
ygqiang 发表于 2025-1-3 21:05

感谢大佬指点,还有一个问题,如果是没网情况下会同步失败,能读取到最新的一个时间来修正系统日期的吗?批处理能不能做到这个的

TOP

回复 3# q995855


    没网就不知道怎么处理了

TOP

返回列表