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

Показать сообщение отдельно

Ветеран


Contributor


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

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


p.igor.kin, В Вашей проблеме 2 задачи.
1. В зависимости от времени включения компьютера необходимо при включении запустить ту или иную программу. Это делает один скрипт и это одна задача в планировщике при включении.
2. В заданное время необходимо завершить указанную программу. Это сделает другой скрипт и это вторая задача планировщика. Если таких программ несколько, то на завершение каждой необходимо задание в планировщике на каждую задачу.
ИМХО, проще это реализовать vbs-скриптами.
Задача 1. Запускаем предметную программу в зависимости от того, когда запущен скрипт. Скрипт поместить в планировщик на включение.
Код: Выделить весь код
ProgStart = Array("C:\Windows\System32\mspaint.exe", "08:00:00", "16:30:00", _
                "C:\Windows\System32\notepad.exe", "00:00:00", "06:00:00")
                
Set WShell = CreateObject("WScript.Shell")

N1 = LBound(ProgStart)
N2 = UBound(ProgStart)
NProg = (N2 - N1 + 1) / 3

For i = 1 To NProg
    PrgName = ProgStart(N1 + 3 * (i - 1))
    TBeg = TimeValue(ProgStart(N1 + 1 + 3 * (i - 1)))
    TEnd = TimeValue(ProgStart(N1 + 2 + 3 * (i - 1)))
    If TBeg <= Time() And Time() <= TEnd Then
        WShell.Run PrgName, 7, False
    End If
Next
Пропишите вместо моих примеров реальные экзешники и диапазоны времени запуска. Сохраните скрипт в файл с расширением .vbs, например, Starter.vbs. Создайте на него задание в планировщике.
Возможно, в планировщике его надо запускать как, например:
C:\Windows\System32\wscript.exe Диск:\Путь\Starter.vbs
Задача 2 (3). Принудительно завершаем указанный процесс. Для каждого - отдельное задание в планировщике.
Код: Выделить весь код
Set Arg = WScript.Arguments
If Arg.Count = 0 Then WScript.Quit

Set WMI = GetObject("winMgmts:")
SQuery = "Select *From Win32_Process Where Name=" + """" + Arg(0) + """"

Set Processes = WMI.ExecQuery(SQuery)
If Processes.Count = 0 Then WScript.Quit

On Error Resume Next
For Each Process In Processes
    Process.Terminate
Next
On Error GoTo 0
Сохраните скрипт в файл с расширением .vbs, например, ProgKill.vbs. Запускать его надо с параметром, например:
Диск:\Путь\ProgKill.vbs "notepad.exe".
Создайте на него задание в планировщике на нужное время.
Возможно, в планировщике его надо запускать как, например:
C:\Windows\System32\wscript.exe Диск:\Путь\ProgKill.vbs "notepad.exe"
На каждую программу задание в планировщике
Цитата p.igor.kin:
а Если компьютер включается с 0 часов до 7 утра то должен запуститься файл 2.exe. и так же закончить свое выполнение часов в 6 утра »
В Вашей постановке нет логики: если, согласно утверждению, задача запустится в 6час 1 мин, то её никаким образом не убить в 6 часов
Поэтому надо чётко продумать хронологию событий: нельзя запускать программу после того, как Вы декларировали её завершение.

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


Последний раз редактировалось megaloman, 29-06-2017 в 21:41.

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

Отправлено: 21:24, 29-06-2017 | #7