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

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

Svnkill 02-04-2020 12:21 2915554

Запуск батника раз в 30 минут
 
Привет, мне нужно чтобы батник запускался раз в 30-40 минут (случайное время)

Есть батник по пути C:\star.bat

Iska 02-04-2020 19:32 2915610

Svnkill, если пролистать созданные Вами сообщения, складывается ощущение, что Вы пытаетесь собрать майнер на пакетных файлах ;).

Зачем это:
Цитата:

Цитата Svnkill
мне нужно чтобы батник запускался раз в 30-40 минут (случайное время) »

Вам нужно?

megaloman 02-04-2020 21:32 2915620

Код:

@Echo Off
cls
        Set /A Min1=30, Min2=40
        Set "Run=Z:\Soft_In\go.bat"

        Set /A Sec1=%Min1%*60,  Sec2=%Min2%*60
        :Begin
                Set /A SecRND=%Random%%%(Sec2-Sec1+1)+Sec1
                Start "" "%Run%"
                TimeOut /T %SecRND%
GoTo :Begin


v79italya 03-04-2020 15:06 2915690

megaloman, а это тоже bat?
Как пользоваться? Один раз запустить после включения компьютера?

megaloman 03-04-2020 16:38 2915705

v79italya, Вы просили bat - Вы его получили. Это управляющий скрипт, запускается один раз и будет висеть в окне пока не завершите принудительно. Вы указываете имя запускаемого батника (или иной программы - у меня Z:\Soft_In\go.bat) этот скрипт будет запускать указанное через случайное время, не дожидаясь окончания запущенного ранее. Вы ставили задачу именно так. Подозреваю, это Вам не очень нравится - тогда:
надо писать vbs, js или еще какой- нибудь скрипт, чтобы окно не висело на мониторе постоянно. Например, vbs
Код:

MinLow = 30                'Нижнее значение интервала запуска (мин)
MinUpp = 40                'Верхнее значение интервала запуска (мин)
PRG = "Z:\Soft_In\go.bat"  ' Запускаемый батник

mSekLow = MinLow * 60 * 1000
mSekUpp = MinUpp * 60 * 1000

Comm = "CMD /C """ + PRG + """"

With CreateObject("WScript.Shell")
    Do
        OutRun = .Run(Comm, 1, False)
        WScript.Sleep Int((mSekUpp - mSekLow + 1) * Rnd + mSekLow)
    Loop
End With


v79italya 03-04-2020 16:46 2915706

megaloman, в этой теме я ничего не просил.
Цитата:

Цитата megaloman
это Вам не очень нравится - тогда:
надо писать vbs, js или еще какой- нибудь скрипт, чтобы окно не висело на мониторе постоянно. Например, vbs »

не понял совета

v79italya 03-04-2020 16:57 2915711

Цитата:

Цитата megaloman
я Вам наваял vbs-скрипт »

хорошо, спасибо.
А нельзя чтоб видно только в трее было значок или надпись какая нибудь?
Например, запущу этот скрипт, который будет время от времени запускать другой скрипт, который делает, например, скриншоты монитора

Iska 03-04-2020 17:49 2915715

Цитата:

Цитата megaloman
v79italya, Вы просили bat… »

Дык, просил не он ;).


Цитата:

Цитата v79italya
А нельзя чтоб видно только в трее было значок или надпись какая нибудь? »

У пакетных файлов и WSH нет таких средств.

megaloman 03-04-2020 19:46 2915734

v79italya, Ну, коли не просили, а я наваял, то, если Вы не против :), попробуйте заменить в приведенном коде 1 на 7:
Код:

        OutRun = .Run(Comm, 7, False)
В трей не умею, но в свёрнутом виде - пожалуйста. И Ваше окно, в котором Вы работаете, при этом останется активным.

v79italya 03-04-2020 20:02 2915737

Цитата:

Цитата Iska
У пакетных файлов и WSH нет таких средств »

Цитата:

Цитата megaloman
но в свёрнутом виде - пожалуйста »

спасибо. По моему, нужная вещь!


Время: 21:49.

Время: 21:49.
© OSzone.net 2001-