Как выполнить скрипт в режиме сна, гибернации, возобновлении работы и выключении

18

Я храню много своих учебных документов, размещенных на Dropbox, а также свой личный сайт для удаленного хранения. Это очень помогает, так как я переключаюсь между iPad, ноутбуком и настольным компьютером, поэтому я не беспокоюсь о том, что мои документы не будут доступны.

Проблема в том, что это решение зависит от того, что я запомнил выполнение программы синхронизации (synctoy) для win7, поэтому я бы хотел, чтобы решение делало это автоматически. Я нашел некоторую справку по скриптингу, которая должна работать при загрузке, но как мне заставить скрипт выполняться при входе в спящий режим и режим гибернации, возобновляя работу с обеих сторон, а также выполняясь перед выключением.

Джейсон
источник
+1 Хороший вопрос. Я знаю, что для этого есть определенные сценарии, которые вы можете добавить в Ubuntu Linux (хотя я бы хотел знать, какие именно). Во всяком случае, у меня полностью было это при использовании Windows тоже.
Джеймс Т Снелл

Ответы:

11

Попробуйте, когда компьютер вернется из режима гибернации или спящего режима.

Begin the Task: On an event
Setting Basic
Log:  System
Source: Power-Troubleshooter
Event ID: 1
The system has resumed from sleep.

Когда вы переводите компьютер в спящий режим или в спящий режим

Begin the Task: On an event
Setting Basic
Log:  System
Source: Kernel-Power
Event ID: 42
The system is entering sleep.
приспособление
источник
Не работает, когда я в спящем режиме. Я вижу, как событие регистрируется в средстве просмотра событий, но сценарий, указанный в планировщике задач, запускается только после того, как система вернется из Hibernate. Согласно истории планировщика заданий, задание запускается, но не запускается.
Андреас Хефербург
8

Вы можете создать задачу, которая использует любой из следующих параметров в качестве триггеров для планировщика задач в Windows 7:

  • По расписанию
  • На входе
  • При запуске
  • На холостом ходу
  • На мероприятии
  • При подключении к пользовательской сессии
  • При отключении от сеанса пользователя
  • Блокировка на рабочей станции
  • На рабочей станции разблокировать

Там есть над чем поработать, я бы посмотрел на триггеры «В режиме ожидания», «Блокировка рабочей станции» и «Разблокировка рабочей станции». Это, вероятно, ваш лучший выбор.

Надеюсь, это поможет.

chunkyb2002
источник
Бинго. У меня запланировано SyncToyCmd.exe -Rежедневное задание , поэтому оно должно работать и с другими триггерами.
Эндрю Колсон
1

Когда я хотел, чтобы он был настроен, я хотел использовать подход с очень малой задержкой, чтобы я мог запустить заставку. Для планировщика задач вы хотите установить триггер «на событие», затем установить пользовательский, а не базовый, а затем отредактировать запрос вручную на вкладке XML триггера события.

Я попробовал этот скрипт для XML:

<QueryList>
  <Query Id="0" Path="System">
    <Select Path="System">*[System[Provider[@Name='Microsoft-Windows-Kernel-Power'] and (Level=4 or Level=0) and (EventID=42)]]</Select>
  </Query>
</QueryList>

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

phly95
источник
0

Попробовав некоторые из предписанных здесь методов, я так и не смог заставить сценарий работать во сне. Встроенные средства Windows Task Scheduler просто не помогли.

Я нашел небольшую утилиту с открытым исходным кодом под названием «Power Triggers» или «Windows 7 Suspend / Resume Control» . Несмотря на то, что он не был хорошо отшлифован или в настоящее время поддерживается, я обнаружил, что этот инструмент работает на Windows 10 без проблем. Однако, чтобы легко запустить сценарий при приостановке или возобновлении работы, необходимо использовать версию 1.01, а не последнюю версию .

DCKing
источник
0

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

Напоминаем, что вы должны запускать приложения с помощью «Start / wait xxx.exe», чтобы пакетный файл ожидал завершения команды и завершил ее работу и не достигал части завершения работы до завершения других задач.

Последняя команда в этом файле должна быть «shutdown xxx yyy», где xxx и yyy - параметры команды shutdown. Затем вы можете просто запустить этот пакетный файл вместо использования любой другой команды / приложения выключения.

user38660
источник