Problem mit Shutdown Batch
Gartendwarf (Level 1) - Jetzt verbinden
07.09.2011, aktualisiert 13:14 Uhr, 3640 Aufrufe, 9 Kommentare
Hi ich bin ein Batch-Newbie und brauche Hilfe bei folgenden Problem:
Ich möchte mir eine Batchdatei erstellen, die helfen kann notwendige Pausen einzuhalten.
Also ich hatte mir etwas gedacht, dass wie ein Timer im Hintergrund läuft und nach einer gewissen Zeit eine Ausgabe macht, wie:
'Du bist jetzt solange %timevariable% vor dem Pc, schalt mal ab.'.
Falls dieser Bitte nicht nachgekommen wird, soll wieder nach einer gewissen Zeit eine Meldung kommen 'Du brauchst mal eine Pause! Der Computer fährt in 10,9,8,7,6,5,4,3,2,1 sec runter' .
Ich weiß nicht ob das richtig ist, aber ich dachte mir, dass man als Grundlage den shutdown -s -f -t Befehl nutzen könnte, wobei -t gleich der notwendigen Zeitvariable sein könnte und dann mit Hilfe des IF- Befehls der Text ausgeben wird.
Nach diesem Muster:
Wobei sich t ständig ändern soll, aber nicht als neue Zeile, sondern in der selben bleiben soll.
Außerdem soll falls es möglich ist, sobald die Batchdatei geöffnet wird kein Fenster zu sehen sein, aber sobald die Ausgabe kommt, soll es sofort in den Vordergrund kommen oder jedes andere Fenster minimieren und nach einer kurzen Zeit wieder verschwinden.
Also im Grunde ist mein Hauptproblem, wie der IF-Befehl auf die t Variable des Shutdown-Befehls zugreifen kann, der Rest würde sich dann von selbst erledigen.
Vielen Dank für eure Hilfe
Also ich hatte mir etwas gedacht, dass wie ein Timer im Hintergrund läuft und nach einer gewissen Zeit eine Ausgabe macht, wie:
'Du bist jetzt solange %timevariable% vor dem Pc, schalt mal ab.'.
Falls dieser Bitte nicht nachgekommen wird, soll wieder nach einer gewissen Zeit eine Meldung kommen 'Du brauchst mal eine Pause! Der Computer fährt in 10,9,8,7,6,5,4,3,2,1 sec runter' .
Ich weiß nicht ob das richtig ist, aber ich dachte mir, dass man als Grundlage den shutdown -s -f -t Befehl nutzen könnte, wobei -t gleich der notwendigen Zeitvariable sein könnte und dann mit Hilfe des IF- Befehls der Text ausgeben wird.
Nach diesem Muster:
@echo off
shutdown -s -f -t 9000
IF <LEQ> t == 1800 GOTO WAHR
GOTO WEITER
:WAHR echo Du bist jetzt solange %timevariable% vor dem Pc, schalt mal ab.
GOTO WEITER
:WEITER
IF <LEQ> t ==10 GOTO WAHR2
:WAHR2 Echo Du brauchst mal eine Pause! Der Computer fährt in t sec runter
Außerdem soll falls es möglich ist, sobald die Batchdatei geöffnet wird kein Fenster zu sehen sein, aber sobald die Ausgabe kommt, soll es sofort in den Vordergrund kommen oder jedes andere Fenster minimieren und nach einer kurzen Zeit wieder verschwinden.
Also im Grunde ist mein Hauptproblem, wie der IF-Befehl auf die t Variable des Shutdown-Befehls zugreifen kann, der Rest würde sich dann von selbst erledigen.
Vielen Dank für eure Hilfe
9 Antworten
- LÖSUNG pieh-ejdsch schreibt am 07.09.2011 um 14:13:44 Uhr
- LÖSUNG laster schreibt am 07.09.2011 um 16:37:52 Uhr
- LÖSUNG 99045 schreibt am 07.09.2011 um 18:02:46 Uhr
- LÖSUNG pieh-ejdsch schreibt am 07.09.2011 um 18:08:49 Uhr
- LÖSUNG 99045 schreibt am 07.09.2011 um 18:15:09 Uhr
- LÖSUNG pieh-ejdsch schreibt am 07.09.2011 um 22:08:22 Uhr
- LÖSUNG 99045 schreibt am 07.09.2011 um 22:38:29 Uhr
- LÖSUNG pieh-ejdsch schreibt am 07.09.2011 um 22:08:22 Uhr
- LÖSUNG 99045 schreibt am 07.09.2011 um 18:15:09 Uhr
- LÖSUNG Gartendwarf schreibt am 08.09.2011 um 19:48:58 Uhr
- LÖSUNG pieh-ejdsch schreibt am 07.09.2011 um 18:08:49 Uhr
- LÖSUNG Gartendwarf schreibt am 08.09.2011 um 19:42:36 Uhr
LÖSUNG 07.09.2011 um 14:13 Uhr
moin Gartendwarf,
die Variable t lasst sich nur abfragen wenn diese Variable existent ist.
-t ist eine Option bzw ein Parameter des Shutdown Befehls.
Batch ist auch minimiert in der Start-/Taskleiste zu sehen.
Hier VBScript - Shutdowndialog mit Timer gibt es ein VBS was nach einer gewissen Zeit eine andere Anwendung startet zB. Shutdown oder eine batch welche ein paar Zeilen ausgibt.
sieh Dir mal if /? am CMD-Promt an.
Gruß Phil
die Variable t lasst sich nur abfragen wenn diese Variable existent ist.
-t ist eine Option bzw ein Parameter des Shutdown Befehls.
Batch ist auch minimiert in der Start-/Taskleiste zu sehen.
Hier VBScript - Shutdowndialog mit Timer gibt es ein VBS was nach einer gewissen Zeit eine andere Anwendung startet zB. Shutdown oder eine batch welche ein paar Zeilen ausgibt.
sieh Dir mal if /? am CMD-Promt an.
Gruß Phil
LÖSUNG 07.09.2011 um 16:37 Uhr
LÖSUNG 07.09.2011 um 18:02 Uhr
LÖSUNG 07.09.2011 um 18:08 Uhr
moin Kaputtnick,
Kein Mumpitz
wenn eine richtige Überwachungssoftware Oder Überwachungsbatch die ganze Sache Übernimmt sollte es auch nicht mit einem Neustart umgehbar sein.
Vllt geht es auch um PausenZeiten, welche von den Computernutzern laut Anweisung zu erfolgen hat.
PS. daher ist das Sperren der ArbeitsOberfläche für die PauseZeit eine Bessere Option als der komplette Shutdown
Gruß Phil
Kein Mumpitz
wenn eine richtige Überwachungssoftware Oder Überwachungsbatch die ganze Sache Übernimmt sollte es auch nicht mit einem Neustart umgehbar sein.
Vllt geht es auch um PausenZeiten, welche von den Computernutzern laut Anweisung zu erfolgen hat.
PS. daher ist das Sperren der ArbeitsOberfläche für die PauseZeit eine Bessere Option als der komplette Shutdown
Gruß Phil
LÖSUNG 07.09.2011 um 18:15 Uhr
Mumpitz. Besonders wenn jeder hier Antworten bekommt, obwohl wesentliche infos, die man zum vernüftigen Beantworten eines Problems benötitgt fehlen. Darin bist du der gruße Meister.
Ich habe keine Lust auf Diskussionen. Schreib du das, was du für richtig hältst und lass mich das schreiben, was ich für richtig halte und lass mich bitte ansonsten in Ruhe.
Ich habe keine Lust auf Diskussionen. Schreib du das, was du für richtig hältst und lass mich das schreiben, was ich für richtig halte und lass mich bitte ansonsten in Ruhe.
LÖSUNG 07.09.2011 um 22:08 Uhr
moin Kaputtnick,
[OT]
schau mal was weiter oben vor Thread-Ansicht zu lesen ist - Diskussionsverlauf (... Kommentare)
Du hast keine Lust auf Diskussion - Dann mach bitte auch NICHT mit in diesem Diskussionsverlauf
[/OT]
Danke
Gruß Phil
[OT]
Zitat von @99045:
Mumpitz. Besonders wenn jeder hier Antworten bekommt, obwohl ...
Ich habe keine Lust auf Diskussionen.
Mumpitz. Besonders wenn jeder hier Antworten bekommt, obwohl ...
Ich habe keine Lust auf Diskussionen.
schau mal was weiter oben vor Thread-Ansicht zu lesen ist - Diskussionsverlauf (... Kommentare)
Du hast keine Lust auf Diskussion - Dann mach bitte auch NICHT mit in diesem Diskussionsverlauf
[/OT]
Danke
Gruß Phil
LÖSUNG 07.09.2011 um 22:38 Uhr
LÖSUNG 08.09.2011 um 19:42 Uhr
Hi ich habe mit Hilfe des anderen Beitrags mir etwas erstellt, was zu funktionieren scheint. Hier ist der fertige Code
P.S. Wie habt ihr das mit den Textboxen gemacht?
[Edit Biber] Codeformatierung [/Edit]
Computerzeit = 7200000 ' zwei Stunden in Millisekunden
Verlaengerung = 1800000
Wscript.Sleep Computerzeit
Set ws = CreateObject("WScript.Shell")
a = ws.popup( "Du bist jetzt seid 2 Stunden vorm Pc. Schalt mal ab" & vbLf,20, "Herunterfahren")
Wscript.Sleep Verlaengerung
a = ws.popup( "Du warst jetzt 2 1/2 Stunden vorm Pc. Du brauchst mal eine Pause!",10,"Runterfahren")
Set oShell = WScript.CreateObject("WScript.Shell")
oShell.Run "cmd \c shutdown -s -t 10 -f", 0
Wscript.Quit
[Edit Biber] Codeformatierung [/Edit]
LÖSUNG 08.09.2011 um 19:48 Uhr