CODE: [Copy to clipboard]
@echo off
rem 隐藏运行进程
if "%1" == "hide" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~nx0"" hide",0)(window.close)&&exit
:begin
rem 设置当前时间的下一分钟
set h=%time:~0,2%&&set m=%time:~3,2%&&set /a m+=1
rem 时分进位
if %m% gtr 59 set /a m=0&&set /a h+=1
rem 获得当前秒
set s=%time:~6,2%
rem 如果秒大于或等于56,直接执行切换
if %s% geq 56 goto start
rem 如果秒小于56,将剩余秒变微秒
if %s% lss 56 set /a s=(56-%time:~6,2%)*100
rem 执行延时程序
call :ProcDelay %s%
:start
rem 结束 Explorer.exe 进程
TaskKill /f /im Explorer.exe>nul 2>nul
rem 将 at 命令相关的服务设置为自动
sc config schedule start= auto>nul 2>nul
rem 添加一个任务计划(下分钟起执行)
at %h%:%m% /interactive %SystemRoot%\Explorer.exe>nul 2>nul
rem 延时删除全部任务计划
call :ProcDelay 500
at /delete /yes
rem 结束
goto end
rem 延时程序
:ProcDelay number
Setlocal EnableExtensions
for /f "tokens=1-4 delims=:. " %%h in ("%TIME%") do set start_=%%h%%i%%j%%k
:wait_
for /f "tokens=1-4 delims=:. " %%h in ("%TIME%") do set now_=%%h%%i%%j%%k
set /a diff_=%now_%-%start_%
if %diff_% lss %1 goto wait_
Endlocal
:end