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

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows 7 (http://forum.oszone.net/forumdisplay.php?f=95)
-   -   Назначенное задание строго в определённый период. (http://forum.oszone.net/showthread.php?t=334183)

sputnikk 06-04-2018 19:21 2807472

Назначенное задание строго в определённый период.
 
Как сделать, чтоб прога запускалась сразу после загрузки ОС только в промежутке 22:00 - 06:00, не зависимо от режима использования компа?

Есть программа Flux, фильтр голубого цвета . Сделал задание на запуск программы на 22:00 и остановку через 8 часов. Но есть 1 проблема. Программа сама не запускается сразу после загрузки ОС, если комп включился послее 22 часов.
Делал настройку немедленно запуска, если пропущен плановый запуск, однако это не даёт нужного эффекта. Во первых программа запускается не сразу, а через несколько минут после включения компа. Во вторых, если вечером не включал комп, то программа запускается на следующий день спустя некоторое время после загрузки системы, когда в ней уже нет необходимости.
Само задание, из файла FLUX.xml
Код:

<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
  <RegistrationInfo>
    <Date>2014-09-13T10:57:28.808544</Date>
    <Author>СТАРЫЙ-ПК\NEMO</Author>
  </RegistrationInfo>
  <Triggers>
    <CalendarTrigger>
      <StartBoundary>2014-09-13T22:00:00</StartBoundary>
      <ExecutionTimeLimit>PT8H</ExecutionTimeLimit>
      <Enabled>true</Enabled>
      <ScheduleByDay>
        <DaysInterval>1</DaysInterval>
      </ScheduleByDay>
    </CalendarTrigger>
  </Triggers>
  <Principals>
    <Principal id="Author">
      <UserId>СТАРЫЙ-ПК\NEMO</UserId>
      <LogonType>InteractiveToken</LogonType>
      <RunLevel>LeastPrivilege</RunLevel>
    </Principal>
  </Principals>
  <Settings>
    <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
    <DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
    <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
    <AllowHardTerminate>true</AllowHardTerminate>
    <StartWhenAvailable>true</StartWhenAvailable>
    <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
    <IdleSettings>
      <StopOnIdleEnd>true</StopOnIdleEnd>
      <RestartOnIdle>false</RestartOnIdle>
    </IdleSettings>
    <AllowStartOnDemand>true</AllowStartOnDemand>
    <Enabled>true</Enabled>
    <Hidden>false</Hidden>
    <RunOnlyIfIdle>false</RunOnlyIfIdle>
    <WakeToRun>false</WakeToRun>
    <ExecutionTimeLimit>PT0S</ExecutionTimeLimit>
    <Priority>7</Priority>
  </Settings>
  <Actions Context="Author">
    <Exec>
      <Command>C:\Users\NEMO\AppData\Local\FluxSoftware\Flux\flux.exe</Command>
      <Arguments>/noshow</Arguments>
    </Exec>
  </Actions>
</Task>


Busla 07-04-2018 10:19 2807539

Оберните запуск программы в скрипт (на Power shell - в батнике со временем намучаетесь работать), который проверяет ваши дополнительные условия - время.
Для выключения программы создайте отдельное задание.

sputnikk 07-04-2018 14:45 2807570

Busla, Это слишком для меня. Думал можно сделать несколько триггеров.

gannet 07-04-2018 18:46 2807616

А чем вас настройки самой программы не устраивают, там и автозапуск и расписание работы с постепенным применением фильтров, насколько я помню

sputnikk 07-04-2018 19:20 2807623

gannet, Не устраивают. Там есть автозапуск и расписание изменение температуры цвета. Но даже при самой высокой температуре 6500К экран немного бежевый, что неудобно днём. Поэтому сделал включение по своему расписанию.
Или я неправильно настраиваю

sputnikk 07-04-2018 19:43 2807630

И нужно, чтоб затемнение происходило не раньше 10 вечера

gannet 08-04-2018 09:13 2807710

"экран немного бежевый" - теперь вспомнил, почему от него отказался. Кстати, в win10 уже есть встроенный фильтр
Триггерами в Планировщике такого и впрямь не запланируешь, там сравнений нет. Могу подсказать по условию запуска
В powershell
If ((get-date).hour -ge 22 -or (get-date).hour - le 6) { flux here }
А в bat
If %time:~0,2% gtr 22 flux here
If %time:~0,2% lss 6 flux here
В случае powershell задание нужно составлять на запуск powershell, а атрибутах -file [полное имя скрипта], потому как прямой запуск скриптов запрещен. Кроме того все скобки там обязательны!
И свое задание на 22:00 не убирайте, только уберите запуск при пропуске! Указанные выше только при ночном включении сработают, мониторить, когда уже 10 вечера, не станут))
Busla, зачем вы написали про powershell? В cmd ответ по if дал /?, ответ по часам увидел на странице поисковой выдачи, а в powershell пока дождался запуска;), пока разобрался, что системные переменные там через костыли или ищи команду, зачем столько скобок и как блин запустить скрипт powershell из планировщика...


Время: 23:03.

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