Компьютерный форум 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=242056)

igor-kineshma 05-09-2012 14:22 1983502

запуск программы или файла в определенное время или через заданный интервал
 
Народ помогите пожалуйста написать скрипт vbs или создать bat который бы в определённое время или через заданный интервал времени запускал определённую программу или файл. Я сам ламер в этом. Заранее спасибо.

Iska 05-09-2012 14:28 1983510

Используйте для этих целей «Назначенные задания». За редким исключением, ни скрипт, ни пакетный файл для этого не нужен.

igor-kineshma 05-09-2012 14:35 1983516

Цитата:

Цитата Iska
За редким исключением, ни скрипт, ни пакетный файл для этого не н »

У меня компов много в организации мне проще им батники или скрипты удалённо закинуть

Iska 05-09-2012 15:24 1983545

Ну-ну. Как хотите. А мне проще один раз создать назначенное задание для заданных машин.

megaloman 05-09-2012 23:29 1983851

Iska прав. Можно, конечно, нарисовать убогий .vbs-скрипт, который через заданный интервал бесконечно будет нечто запускать ( у меня в примере WinRar), забросить его каждому в автозагрузку, но завершить его можно только из диспетчера задач (wscript.exe) у пользователя) (Как поставлена задача, так она решена),
Код:

Interval = 1  ' Интервал (мин)
Visible =  0  ' Если 0 то не будет видно окна запускаемой задачи, 1 - видно

Set WS = CreateObject("WScript.Shell")
Do
    WScript.Sleep Interval * 60000
    R = WS.Run("""C:\Program Files\WinRAR\WinRAR.exe"" a C:\Notepad.rar C:\WINDOWS\notepad.exe", Visible, False)
Loop


igor-kineshma 06-09-2012 09:15 1983966

megaloman, Спасибо большое. А как сделать так что бы она запускалась скажем так всего 1 ну или 2 раза, а потом сама удалялась с диспетчера задач? Заранее спасибо.

megaloman 06-09-2012 09:58 1983992

Чтобы скрипт сделался 1 раз, достаточно убрать Do и Loop. После запуска программы скрипт завершится. Если надо сделать несколько раз, то
Код:

Interval = 1    ' Интервал (мин)
N = 2          ' Число повторов

Visible = 0  ' Если 0 то не будет видно окна запускаемой задачи, 1 - видно

Set WS = CreateObject("WScript.Shell")

For i = 1 To N
    WScript.Sleep Interval * 60000
    R = WS.Run("""C:\Program Files\WinRAR\WinRAR.exe"" a C:\Notepad.rar C:\WINDOWS\notepad.exe", Visible, False)
Next


igor-kineshma 06-09-2012 10:01 1983996

megaloman, Огромное Вам спасибо. Очень выручили. А скажите а что бы скрипт запускался не через заданный интервал а в указанное время это очень сложно?

megaloman 06-09-2012 10:33 1984016

Код:

Interval = 1        ' Интервал опроса (мин)
Where = "09:29:00"  ' После какого времени сделать

Visible = 0  ' Если 0 то не будет видно окна запускаемой задачи, 1 - видно

Set WS = CreateObject("WScript.Shell")

TWhere = TimeValue(Where)
Do
    WScript.Sleep Interval * 60000
    If Time >= TWhere Then
        R = WS.Run("""C:\Program Files\WinRAR\WinRAR.exe"" a C:\Notepad.rar C:\WINDOWS\notepad.exe", Visible, False)
        Exit Do
    End If
Loop

Скрипт делает опрос времени с заданным дискретом, но, в принципе, строки

Interval = 1 ' Интервал опроса (мин)
WScript.Sleep Interval * 60000

можно убрать (при этом совпадение заданного и времени выполнения будет максимальным), но это, ИМХО, плохо - лишняя загрузка процессора. Естественно, чтобы скрипт сработал, он должен быть запущен (например, в Автозагрузке). После однократного выполнения запущенной задачи скрипт выгрузится.

читать дальше »
Цитата:

Ну-ну. Как хотите. А мне проще один раз создать назначенное задание для заданных машин.

igor-kineshma 06-09-2012 11:50 1984074

megaloman,
Подскажи пожалуйста я создал скрипт по запуску в данное время, но вот в чём беда, программа сворачивается в панель управления при запуске и ещё выскакивает окно в котором написано время, - это можно исправить, что бы программа запускалась по верх всех окон?

megaloman 06-09-2012 12:12 1984090

Цитата:

выскакивает окно в котором написано время
- виноват, забыл убрать отладочную печать, давно исправтл.
Цитата:

программа сворачивается в панель управления
Написать Visible = 1 (или попробуйте =3)


Время: 01:54.

Время: 01:54.
© OSzone.net 2001-