Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Запуск задания в планировщике в рандомное время (http://forum.oszone.net/showthread.php?t=324517)

pypyrin 06-03-2017 10:08 2717116

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

Elven 06-03-2017 12:09 2717153

Например...
Код:

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

pypyrin 07-03-2017 04:05 2717323

Нет, мне ненужна задержка выполнения скрипта. Мне нужно рандомное формирование строки текста, обозначающее время.

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

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 2717556

отталкиваясь от
Цитата:

Цитата pypyrin
у разных машин в разное время (с 9-00 до 15-00) »

с учетом
Цитата:

Цитата pypyrin
вместо /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 2717569

alpap, огромное спасибо! То, что нужно!


Время: 03:58.

Время: 03:58.
© OSzone.net 2001-