Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - запуск программы или файла в определенное время или через заданный интервал

Ответить
Настройки темы
Любой язык - запуск программы или файла в определенное время или через заданный интервал

Новый участник


Сообщения: 10
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

Отправлено: 14:22, 05-09-2012

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


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

Отправлено: 14:28, 05-09-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 10
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Iska:
За редким исключением, ни скрипт, ни пакетный файл для этого не н »
У меня компов много в организации мне проще им батники или скрипты удалённо закинуть

Отправлено: 14:35, 05-09-2012 | #3


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


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

Последний раз редактировалось Iska, 05-09-2012 в 17:28. Причина: Исправил запятую на более уместный дефис.


Отправлено: 15:24, 05-09-2012 | #4


Ветеран


Contributor


Сообщения: 2708
Благодарности: 1684

Профиль | Отправить PM | Цитировать


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

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

Это сообщение посчитали полезным следующие участники:

Отправлено: 23:29, 05-09-2012 | #5


Новый участник


Сообщения: 10
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

Отправлено: 09:15, 06-09-2012 | #6


Ветеран


Contributor


Сообщения: 2708
Благодарности: 1684

Профиль | Отправить PM | Цитировать


Чтобы скрипт сделался 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

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 06-09-2012 в 10:05.

Это сообщение посчитали полезным следующие участники:

Отправлено: 09:58, 06-09-2012 | #7


Новый участник


Сообщения: 10
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

Отправлено: 10:01, 06-09-2012 | #8


Ветеран


Contributor


Сообщения: 2708
Благодарности: 1684

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
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

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

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

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 06-09-2012 в 11:03. Причина: Убрал отладочную строку MsgBox .....

Это сообщение посчитали полезным следующие участники:

Отправлено: 10:33, 06-09-2012 | #9


Новый участник


Сообщения: 10
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

Отправлено: 11:50, 06-09-2012 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - запуск программы или файла в определенное время или через заданный интервал

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Скрипт для cmd запуск и выключение explorer.exe в определенное время... ar3127 Скриптовые языки администрирования Windows 7 18-06-2011 22:03
переадресация почты через определенное время, как? кастелянша Хочу все знать 2 20-05-2011 12:32
Выход из логина через определенное время простоя linus87 Microsoft Windows NT/2000/2003 2 07-09-2009 08:06
CMD/BAT - [решено] удаление ключа реестра через определенное время drgr Скриптовые языки администрирования Windows 4 03-03-2009 08:30
Интернет - Программа для закачки с интернета через определенное время babki Программное обеспечение Windows 3 27-10-2008 18:09




 
Переход