Hallo
Kann man mit autoit ein programm schreiben was eine bat datein zeitgesteuert neustartet
ich danke schin mal im vorraus
mfg R. Schmidt
Hallo
Kann man mit autoit ein programm schreiben was eine bat datein zeitgesteuert neustartet
ich danke schin mal im vorraus
mfg R. Schmidt
Dafür brauchst Du im Grunde nicht mal AutoIt. Suche mit Google einfach nach z.B. :
cmd zeitgesteuert starten
batch zeitgesteuert starten
usw.
Ach ja, und herzlich Willkommen im Forum .
oky danke dir
aber ganz kurz dachte an so was
;HotKeySet("{ESC}", end)
;HotKeySet("{F1}", start) ;optional
;HotKeySet("{F2}", pause) ;optional
pause() ; starts the pause loop when started
;Der Server startet alle 6 Stunden neu
Func start()
$Path = "Start.bat" ; self explained
While 1
If @HOUR = 03 Or @HOUR = 9 Or @HOUR = 13 Or @HOUR = 21 Then;Der Server startet um 03,09,15 und 21 Uhr neu
Run($Path)
EndIf
WEnd
EndFunc
Func pause()
While 1
Sleep(500) ; waits 500 ms to reduce lag
WEnd
EndFunc
Func end()
Exit
EndFunc
Hallo R.Schmidt, willkommen im Forum.
Hihi *nettes-Lachen* ich finde deine Idee richtig nett! Es sind einige Fehler drin, die man häufig findet, wenn der Autor des Codes eher dachte, der Code macht was er will. Leider (oder Gott sei dank!) macht ein Code aber nicht, was man will, sondern was man sagt.
Ich gehe davon aus, dass du kein fertiges Programm möchtest, sondern Infos, die dir beim Selbermachen helfen. Deshalb erstmal 2 Kleinigkeiten.
Das sind natürlich nur Hinweise, die dir helfen können - keine fertige Lösung. Aber es macht dir bestimmt mehr Spaß, wenn du deinen Code selbst entwickelst.
Hallo und willkommen im Forum.
bin da eher bei Masashi, man muss das Rad nicht neu erfinden außer man möchte Radmacher werden.
Schaue mal bei dem Video ab 17:38
oh-ha -> EDIT : Es heißt Musashi nicht Masashi
Edit:
Ich persönlich halte die Aufgabenplanung (Taskmanager) zwar immer noch für die bessere Wahl, aber ggf. hilft Dir das folgende Skript ja weiter :
HotKeySet("{ESC}", "_Terminate")
Global $iTime = 1000*60 ; <-- Zeitintervall für AdlibRegister (Millisekunden)
AdlibRegister("_StartBatch", $iTime)
While True
Sleep(100)
WEnd
Func _StartBatch()
If (@HOUR = '03' Or @HOUR = '09' Or @HOUR = '15' Or @HOUR = '21') And (@MIN = "00") Then
; ===> hier den Aufruf der Batchdatei einfügen
Sleep(1000*120)
EndIf
EndFunc
Func _Terminate()
AdlibUnRegister("_StartBatch")
Exit
EndFunc
Alles anzeigen
ich danke dir habe habe kurz noch ne kurz frage was heißt denn AdlibRegister
AutoIt verfügt über eine sehr gute deutsche Hilfe, die auch viele lauffähige Beispiele enthält.
siehe : AdlibRegister
Falls Du Dich intensiver mit AutoIt beschäftigen möchtest, dann ist die Hilfe eine wertvolle Quelle !
R.Schmidt : Zusatzinfo (vereinfacht)
Die mit AdlibRegister registrierte Funktion wird automatisch alle xxx Millisekunden (Default=250 ms) im Hintergrund aufgerufen. Du musst den Aufruf also nicht wie bei 'normalen' Funktionen selbst ausführen.
Hier eine leicht erweiterte Version :
- es wird ein LOGFile angelegt, in dem die Batchstarts mit Datum/Uhrzeit protokolliert werden
- mehrfacher Start des Programmes wird verhindert
- neuer HotKey Shift-Alt-e zum Beenden (ESC wird zu häufig in anderen Kontexten betätigt)
Es gibt natürlich noch weiteres Optimierungspotenzial, sollte als Orientierung aber ausreichen .
; Version 2.0 vom 06.02.2020
; Changelog :
; - _Singleton hinzugefügt
; - LOGFile hinzugefügt
; - Shift-Alt-e statt {ESC} um das Programm zu terminieren
#include <Date.au3>
#include <FileConstants.au3>
#include <Misc.au3>
; ==> Mehrfachstart des Programmes verhindern :
If _Singleton(@ScriptName, 1) = 0 Then Exit MsgBox(BitOR(4096, 16), "Error : ", "mehrfacher Start des Programmes unzulässig")
; ==> Logfile anlegen / öffnen :
Global $sLOGFilename = @ScriptDir & '\Batchstart.LOG'
Global $bLOGFileIsOpen = False
Global $hLOGFile = FileOpen($sLOGFilename, BitOR($FO_APPEND, $FO_ANSI))
If $hLOGFile <> -1 Then $bLOGFileIsOpen = True
HotKeySet("+!e", "_Terminate") ; Shift-Alt-e um das Programm zu terminieren
; ==> Funktion _StartBatch registrieren :
Global $iTime = 1000*60 ; <-- Zeitintervall für AdlibRegister (Millisekunden)
AdlibRegister("_StartBatch", $iTime)
While True
Sleep(100)
WEnd
Func _StartBatch()
If (@HOUR = '03' Or @HOUR = '09' Or @HOUR = '15' Or @HOUR = '21') And (@MIN = "00") Then
; Eintrag in die LOGDatei schreiben :
If $bLOGFileIsOpen Then FileWriteLine($hLOGFile, 'Batchstart = ' & @MDAY & "." & _DateToMonth(@MON, 2) & " " & @YEAR & " um " & @HOUR & ":" & @MIN & ":" & @SEC & @CRLF)
FileFlush($hLOGFile)
; ===> hier den Aufruf der Batchdatei einfügen
Sleep(1000*120)
EndIf
EndFunc
Func _Terminate()
AdlibUnRegister("_StartBatch")
If $bLOGFileIsOpen Then FileClose($hLOGFile)
Exit
EndFunc
Alles anzeigen
Alternativ könntest Du Dir auch mal die UDF von water anschauen : task-scheduler
Gruß Musashi
;HotKeySet("{ESC}", end)
HotKeySet("{ESC}", "_Terminate")
Global $iTime = 1000*60 ; <-- Zeitintervall für AdlibRegister (Millisekunden)
AdlibRegister("_StartBatch", $iTime)
While True
Sleep(100)
WEnd
Func _StartBatch()
If (@HOUR = '03' Or @HOUR = '09' Or @HOUR = '15' Or @HOUR = '21') And (@MIN = "00") Then C:\Users\Administrator\Desktop\Unsere Systeme\Minecraft TechnikX.bat
; ===> hier den Aufruf der Batchdatei einfügen
Sleep(1000*120)
EndIf
EndFunc
Func _Terminate()
AdlibUnRegister("_StartBatch")
Exit
EndFunc
Allso das könnte nun klappen mfg
Also das könnte nun klappen mfg
Sicher nicht . Hast Du das mal kompiliert ?
If (@HOUR = '03' Or @HOUR = '09' Or @HOUR = '15' Or @HOUR = '21') And (@MIN = "00") Then C:\Users\Administrator\Desktop\Unsere Systeme\Minecraft TechnikX.bat
Äh, was bitte soll denn das Minecraft da. Zufall, oder geht es hier um Spieleautomation ?
Diese wäre laut Forenregeln unzulässig.
es geht nicht um die automation wwegen minecraft es geht nurr darum das die bat so heißt die geöffnet und geschlossen werden sollte deswegen
Es geht nicht um die Automation wegen Minecraft, es geht nur darum dass die bat so heißt, die geöffnet und geschlossen werden sollte, deswegen.
"Die Botschaft hör ich wohl, allein mir fehlt der Glaube."
Johann Wolfgang von Goethe (Quelle: Faust. Der Tragödie erster Teil, 1808. Nacht, Faust mit sich allein)
Und die batch steuert natürlich nicht minecraft... eigentlich wollte ich mich den helfenden anschließen, aber in diesem Falle.
Wobei TechnikX ein Mod ist, aber sieht weiterhin nach Spieleautomation aus.