小编Wra*_*Osu的帖子

如何通过批处理文件随机安排任务?

我需要创建一个脚本,该脚本将通过Windows 7计算机上的.bat文件运行.批处理文件将创建一个计划任务,该任务在星期日上午11点到晚上9点之间的随机时间运行.我目前正在使用这个命令,我知道它只在特定时间工作:

schtasks /create /tn "task" /tr c:\task.vbs /sc WEEKLY /d SUN /st 21:00:00 /ru ""
Run Code Online (Sandbox Code Playgroud)

我想随机化时间,以便我可以在所有400个系统中运行相同的批处理文件,并让每个系统在该范围内获得不同的时间,因此它们不会同时运行任务.我不在乎他们中的一些人是否有相同的时间,但我不希望所有400人都在同一时间内运行.一旦我有一个按预期工作的单个批处理文件,它将被推送到所有系统并运行一次以安排该任务.

基于在这里搜索其他答案,我尝试使用以下脚本,现在只是尝试生成一个随机小时,但我没有得到我需要的结果:

选项1)

set /a num=%random% * (21 - 11 + 1) / 32768 + 11
Run Code Online (Sandbox Code Playgroud)

该命令将在正确的范围内生成一个数字,但它不是真正随机的,它似乎是基于时钟或其他东西,因为如果我快速运行它几次,我得到相同的数字然后它随着时间递增通过,这不会工作.

选项2)

@echo off & setlocal EnableDelayedExpansion

for /L %%a in (1 1 20) do (
        call:rand 11 21
        echo !RAND_NUM!
) >> random2.txt

goto:EOF

REM The script ends at the above goto:EOF.  The following are functions.

REM rand()
REM Input: %1 is min, %2 is max.
REM …
Run Code Online (Sandbox Code Playgroud)

random scripting batch-file scheduled-tasks

6
推荐指数
1
解决办法
6583
查看次数

标签 统计

batch-file ×1

random ×1

scheduled-tasks ×1

scripting ×1