Jak wykonać skrypt w trybie uśpienia, hibernacji, wznowienia i zamknięcia

18

Trzymam dużo moich dokumentów klasowych przechowywanych na Dropbox, a także na mojej osobistej stronie do zdalnego przechowywania. To bardzo pomaga, ponieważ przełączam się między iPadem, laptopem i komputerem stacjonarnym, więc nie martwię się, że moje dokumenty będą poza kontem.

Problem w tym, że to rozwiązanie polega na tym, że pamiętam o wykonaniu programu synchronizacji (synctoy) dla win7, więc chciałbym, aby rozwiązanie to zrobiło automatycznie. Znalazłem pomoc dotyczącą skryptów, która powinna działać podczas uruchamiania, ale w jaki sposób mogę uruchomić skrypt po przejściu w tryb uśpienia i hibernacji, wznowieniu od obu, a także wykonania przed zamknięciem.

Jason
źródło
+1 Dobre pytanie. Wiem, że istnieją specjalne skrypty, do których można dodać w tym systemie Ubuntu Linux (choć chciałbym wiedzieć, które osobiście). Tak czy inaczej, całkowicie wymyśliłem to również w systemie Windows.
James T Snell

Odpowiedzi:

11

Spróbuj tego, gdy komputer powróci z trybu hibernacji lub uśpienia

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

Po przełączeniu komputera w tryb hibernacji lub uśpienia

Begin the Task: On an event
Setting Basic
Log:  System
Source: Kernel-Power
Event ID: 42
The system is entering sleep.
Urządzenie
źródło
Nie działa, gdy hibernuje. Widzę, że zdarzenie jest rejestrowane w Podglądzie zdarzeń, ale skrypt, który określiłem w Harmonogramie zadań, działa dopiero po powrocie systemu z trybu hibernacji. Zgodnie z historią Harmonogramu zadań zadanie jest uruchamiane, ale nie uruchamiane.
Andreas Haferburg
8

Możesz utworzyć zadanie, które używa jednej z następujących opcji jako wyzwalaczy dla Harmonogramu zadań w systemie Windows 7:

  • W rozkładzie
  • Po zalogowaniu
  • Podczas uruchamiania
  • Na biegu jałowym
  • Na zdarzenie
  • Po połączeniu z sesją użytkownika
  • Po odłączeniu od sesji użytkownika
  • Blokada stacji roboczej
  • Odblokuj na stacji roboczej

Jest tam wiele do pracy, patrzyłbym na wyzwalacze na bezczynności, na blokadę stacji roboczej i na odblokowanie stacji roboczej. To prawdopodobnie twój najlepszy zakład.

Mam nadzieję, że to pomaga.

chunkyb2002
źródło
Bingo Mam zaplanowane zadanie, które będzie uruchamiane SyncToyCmd.exe -Rcodziennie, więc powinno działać dobrze również z innymi wyzwalaczami.
Andrew Coleson,
1

Kiedy chciałem to skonfigurować, chciałem zastosować podejście bardzo opóźnione, aby móc uruchomić ekran powitalny. W harmonogramie zadań chcesz ustawić wyzwalacz na „przy zdarzeniu”, a następnie ustawić niestandardowy, a nie podstawowy, a następnie ręcznie edytować zapytanie w zakładce XML wyzwalacza zdarzeń.

Próbowałem tego skryptu dla 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>

Jeśli potrzebujesz aplikacji do szybkiego uruchomienia, jest to najlepszy sposób, aby to zrobić.

phly95
źródło
0

Po wypróbowaniu niektórych z zalecanych tutaj metod nigdy nie udało mi się uruchomić skryptu, aby działał w trybie uśpienia. Wbudowane funkcje Windows Task Scheduler po prostu tego nie naprawiły.

Znalazłem małe narzędzie typu open source o nazwie „Power Triggers” lub „Windows 7 Suspend / Resume Control” . Pomimo tego, że nie jestem dobrze dopracowany ani obecnie obsługiwany, znalazłem to narzędzie do pracy w systemie Windows 10 bez problemów. Aby jednak łatwo uruchomić skrypt przy zawieszaniu lub wznawianiu, musisz użyć wersji 1.01, a nie najnowszej wersji .

DCKing
źródło
0

Co możesz zrobić, to utworzyć plik wsadowy, aby zrobić wszystko, co trzeba, przed zamknięciem lub hibernacją maszyny.

Pamiętaj, że powinieneś uruchamiać aplikacje za pomocą „Start / wait xxx.exe”, aby plik wsadowy czekał na zakończenie polecenia i wyjście z niego i nie dotarł do części zamykania przed zakończeniem innych zadań.

Ostatnim poleceniem w tym pliku powinno być „zamknij xxx rrr”, gdzie xxx i rrr są parametrami polecenia zamknięcia. Następnie możesz po prostu uruchomić ten plik wsadowy zamiast używać innego polecenia / aplikacji zamykającej.

użytkownik38660
źródło
0

Istnieje skrypt AutoHotkey, który próbuje rozwiązać ten problem tutaj

Stenemo
źródło