Войти

Показать полную графическую версию : [решено] Запуск задания в планировщике в рандомное время


pypyrin
06-03-2017, 10:08
Есть скрипт включения компьютера. В скрипте идет удаление всех задач планировщика и добавление одной задачи по запуску необходимой программы. Добавляем задание через Schtasks. В качестве параметра задается время запуска.
Вопрос: как в скрипте (BAT/CMD) реализовать генерацию рандомного время запуска? Задача должна запуститься сегодня, но у разных машин в разное время (с 9-00 до 15-00).
Я вижу это себе подставлением в качестве параметра времени запуска некую переменную окружения, но как ее сформировать? set Q=???

Elven
06-03-2017, 12:09
Например...
timeout /t %random:~0,4%
Это если рандомное. Получим псевдослучайную задержку не более 9999 секунд.

pypyrin
07-03-2017, 04:05
Нет, мне ненужна задержка выполнения скрипта. Мне нужно рандомное формирование строки текста, обозначающее время.

Пример. В скрипте есть такая строка

schtasks /create /tn "My App" /tr c:\apps\myapp.exe /sc ежедневно /st 10:00:00 /ed 12/31/2001

Если все оставить так, то при включении комп-ров выполнится скрипт и на всех комп-рах появится задача с запуском в 18-00.
Я хочу чтобы вместо /st 10:00:00 формировалось нечто уникальное для кажого ком-ра, но именно в таком формате времени.

schtasks /create /tn "My App" /tr c:\apps\myapp.exe /sc ежедневно /st %my_time% /ed 12/31/2001

Тогда у каждого комп-ра будет задача создана, но с разным временем. Вопрос собственно как сформировать рандомно строку в формате "ХХ:ХХ" и подпихнуть ее в качестве параметра в schtasks

alpap
08-03-2017, 02:24
отталкиваясь от
у разных машин в разное время (с 9-00 до 15-00) »
с учетом
вместо /st 10:00:00 формировалось нечто уникальное »


@echo off
set min=9
set max=15
set /a hh=%random%%%(max-min+1)+min
set hh=0%hh%
echo %hh:~-2%:%time:~3,2%:%time:~6,2%
pause

pypyrin
08-03-2017, 05:49
alpap, огромное спасибо! То, что нужно!




© OSzone.net 2001-2012