Automatisches Windows herunterfahren bei Uhrzeit

  • Hallo Liebe Community,

    ich habe ein kleines "Projekt" überlegt und zwar lasse ich meinen Computer über Nacht laufen fürs Rendern von Videos.

    Nun weil ich nicht möchte das der den ganzen Tag/Nacht läuft soll sich der Computer bei einer bestimmten Uhrzeit herunterfahren.

    Da ich relativ neu in AutoIT bin habe ich nicht die geringste Ahnung wie und ob man so etwas realisieren kann.

    Ich bin für jede hilfe dankbar

    :)

    PS: Der PC soll um 5:30Uhr herunterfahren

  • Ergänzung : Alternativ kann man auch folgende Varianten ausführen :

    Auszug aus der AutoIt-Hilfe :

    Befehl : Shutdown - fährt das System herunter.

    Shutdown ( code [, reason] )

    Parameter

    code - Eine Kombination von Herunterfahr-Codes. Siehe Anmerkungen.

    reason - [optional] Shutdown-Code des Users.

    Rückgabewert

    Erfolg : Gibt 1 zurück.

    Fehler : Gibt 0 zurück und @error wird auf GetLastError() gesetzt.

    Bemerkungen

    Der Herunterfahr-Code ist eine Kombination der folgenden Werte:

    0 = Abmelden / Logoff

    1 = Herunterfahren / Shutdown

    2 = Neu Starten / Reboot

    4 = Herunterfahren erzwingen / Force

    8 = Strom abschalten / Power down

    16= Erzwingen, falls das System hängt

    32= Bereitschaftsmodus / Standby

    64= Schlafmodus / Hibernate

    Falls Du den Windows-Befehl verwenden möchtest (Beispiel 60 Sekunden), dann :

    Run("c:\windows\system32\shutdown.exe /s /t 60", "", @SW_HIDE)

    oder :

    Run(@ComSpec & " /c shutdown /s /t 60", "", @SW_HIDE)

    Bei Windows 7 werden Parameter mit / eingeleitet

    Hierzu müsste man aber noch z.B. mittels AdlibRegister eine Funktion definieren, welche auf die gewünschte Uhrzeit prüft.

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • Läßt sich irgendwie feststellen, ob die Videos fertig gerendert sind? Z.B. Existiert der Prozess des Renderprogramms dann nicht mehr etc.
    Falls ja, dann könnte das AutoIt Script darauf testen und dann den Computer herunterfahren. Wäre variabler und würde optimal Energie sparen.

  • Läßt sich irgendwie feststellen, ob die Videos fertig gerendert sind?

    Diese Frage habe ich mir auch gestellt. Das Herunterfahren des PC's zu einer bestimmten Uhrzeit könnte dazu führen, dass ein laufendes Rendering mit Datenverlust abgebrochen wird.

    DonaldDuckyyy :

    Könntest Du Dein Projekt (genauer gesagt den Ablauf) bitte ausführlicher beschreiben ?

    Das Rendering selbst macht vermutlich eine Drittsoftware, oder ?

    Wird die Software je Video einzeln gestartet, oder erlaubt sie eine Stapelverarbeitung.

    Dies hat ggf. Einfluss darauf, wie man laufende Prozesse ermitteln muss/kann.

    Sinnvoll wäre eine eigene Funktion, die beim Erreichen der gewünschten Uhrzeit aufgerufen wird.

    Sie müsste prüfen, ob momentan ein Renderingprozess läuft und warten, bis dieser beendet ist. Zudem müsste sie den Start eines neuen Renderingprozesses verhindern. Erst dann darf der eigentliche Shutdown erfolgen.

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • Normalerweise bietet solche Software selbst eine Option um nach Abschluß der Aufgabe Aktionen wie "Programm beenden" oder "Computer herunterfahren" durchzuführen. Eine feste Uhrzeit ist jedenfalls wenig sinnvoll, da wie bereits erwähnt wurde für Windows oder Autoit nicht bekannt ist ob zu diesem Zeitpunkt bereits alle Aufgaben abgeschlossen wurden. Würde dir daher die Dokumentation deiner Rendering Anwendung empfehlen, denn das ist mit Sicherheit zuverlässiger als über externe Software herauszufinden ob alles erledigt ist.