写一个程序bat代码运行:当电脑系统时间在上午10:29分00秒-10:32分00秒之间,电脑自动更改系统时间为10:33 分00秒。当时间到了10:36分00秒,自动修正时间差并校准时间(例如:自动加上前修改的3分钟,改时间为10:39分00秒)。当电脑系统时间在下午16:29分00秒-16:32 分 00 秒之间,电脑自动更改系统时间为16:33分00秒。当时间到了16:36分00秒,自动修正时间差并校准时间,(例如:自动加上前修改的3分钟,改时间为16:39分00秒)。在任何时候电脑关机了,要记住时间点,下次开机自动计算时间差无联网状态下校准时间。这个bat程序需要一直自动启动运行
时间: 2024-03-26 17:41:57 浏览: 54
以下是符合要求的bat代码,可以实现自动更改系统时间和校准时间:
```
@echo off
:loop
setlocal enabledelayedexpansion
set "now=%time%"
set "hour=!now:~0,2!"
set "minute=!now:~3,2!"
set "second=!now:~6,2!"
REM 上午10:29分00秒-10:32分00秒之间,电脑自动更改系统时间为10:33 分00秒
if %hour%==10 (
if %minute% geq 29 (
if %minute% leq 32 (
if %second%==00 (
echo System time changed to 10:33:00
time 10:33:00
)
)
)
)
REM 下午16:29分00秒-16:32 分 00 秒之间,电脑自动更改系统时间为16:33分00秒
if %hour%==16 (
if %minute% geq 29 (
if %minute% leq 32 (
if %second%==00 (
echo System time changed to 16:33:00
time 16:33:00
)
)
)
)
REM 当时间到了10:36分00秒,自动修正时间差并校准时间
if %hour%==10 (
if %minute%==36 (
if %second%==00 (
echo Time difference corrected, now 10:39:00
time 10:39:00
)
)
)
REM 当时间到了16:36分00秒,自动修正时间差并校准时间
if %hour%==16 (
if %minute%==36 (
if %second%==00 (
echo Time difference corrected, now 16:39:00
time 16:39:00
)
)
)
REM 记录关机时间
if %1==shutdown (
set "last_shutdown=!date! !time!"
echo Last shutdown time recorded: !last_shutdown!
)
REM 自动校准时间
if not defined last_shutdown (
timeout /t 60 /nobreak >nul
) else (
set "shutdown_date=!last_shutdown:~0,10!"
set "shutdown_time=!last_shutdown:~11,8!"
set "shutdown_seconds=!shutdown_time:~6,2!"
set /a "shutdown_total_seconds=!shutdown_time:~0,2!*3600+!shutdown_time:~3,2!*60+!shutdown_seconds!"
set "now_date=!date!"
set "now_time=!time!"
set "now_seconds=!now_time:~6,2!"
set /a "now_total_seconds=!now_time:~0,2!*3600+!now_time:~3,2!*60+!now_seconds!"
set /a "time_diff=!now_total_seconds!-!shutdown_total_seconds!+180"
set /a "hour_diff=!time_diff!/3600"
set /a "minute_diff=!time_diff!%%3600/60"
set /a "second_diff=!time_diff!%%60"
set "new_time=!now_time:~0,2!:%minute_diff%:%second_diff%"
set "new_time=!new_time: =0!"
echo Time difference calculated: !hour_diff! hours !minute_diff! minutes !second_diff! seconds
echo System time adjusted to !new_time!
time !new_time!
set "last_shutdown="
)
goto loop
```
这个bat程序需要一直自动启动运行,可以将它放在系统的启动文件夹中。方法是:
1. 右键单击“开始”菜单,选择“运行”。
2. 输入“shell:startup”并按回车键。
3. 打开启动文件夹。
4. 将bat文件复制到启动文件夹中。
5. 重启电脑后,bat程序会自动启动运行,实现自动更改系统时间和校准时间。
阅读全文