一个连续随机运行的批处理脚本

在windows上不定时执行某些任务,比如访问某些网站之类,不定时进行。

基本过程就是建立一个系统定时任务,执行一段批处理代码。这个代码运行时:

1、删除原来的定时任务;

2、添加新的定时任务,新任务时间以当前时间为准,随机在二十分钟内启动;

3、执行必要的操作命令。

@echo off
rem 创建一个名为randomtask的任务,随机时间执行本批处理任务
SCHTASKS /delete /TN  randomtask /F
rem SCHTASKS /Create /SC ONCE /ST 17:01  /TN randomtask /TR d:\tools\cmd\randomtask.bat

setlocal enabledelayedexpansion

:: 获取当前时间的小时和分钟
for /f "tokens=1,2 delims=:" %%a in ("%time%") do (
    set "hour=%%a"
    set "minute=%%b"
)

:: 去除分钟中的秒数部分(只保留前两位)
set "minute=!minute:~0,2!"

:: 生成0-20之间的随机分钟数
set /a "random_minutes=%random% %% 21"

:: 计算总分钟数
set /a "total_minutes=100!hour!%%100 * 60 + 100!minute!%%100 + random_minutes"

:: 计算新的小时和分钟,处理超过24小时的情况
set /a "new_hour=total_minutes / 60 %% 24"
set /a "new_minute=total_minutes %% 60"

:: 确保小时和分钟都是两位数格式
if !new_hour! lss 10 set "new_hour=0!new_hour!"
if !new_minute! lss 10 set "new_minute=0!new_minute!"

:: 输出结果
echo !new_hour!:!new_minute!
SCHTASKS /Create /SC ONCE /ST !new_hour!:!new_minute!  /TN randomtask /TR "start /min d:\tools\cmd\randomtask.bat"

:: 此处执行所需的批处理命令

endlocal

  

posted @ 2025-08-19 17:29  首席吐槽官秦寿  阅读(17)  评论(0)    收藏  举报