Batch-Datei für wiederholtes starten und beenden von 2 dateien..
Mein TrackmaniaServer soll 24/7 laufen -> mit windows starten und bei neuer internetverbindung beenden und neustarten...
Hallo...
ih möchte gerne eine Batch-Datei mit der ich folgendes bewerksteligen kann...:
Ich habe zwei dateien:
1. TrackmaniaServer.exe (wie der name schon sagt der server für Trackmania)
2. Live.bat (Ein Addon)
INFO: die Live.bat darf erst ca 30-60 sekunden starten nachdem trackmaniaserver.exe angefangen hat zu starten.
GRUND: Nach Start von TrackmaniaServer.exe verbindet sich der server zum masterserver von Trackmania, dies dauert ein paar sekunden. Erst wenn derServer fertig geladen hat, darf die Live.bat ausgeführt werden.
BETRIEBSSYSTEM:
Win XP Pro - Sp3
Mein Vorhaben:
1. Beide Dateien sollen mit hochfahren des Rechners gestartet werden (nach Benutzer-Anmeldung). Live.bat in diesem fall aber erst ca 1-2 Minuten später, weil Trackmania auch erst später connecten kann, da nicht sofort das netzwerk verfügbar ist.
2. Meine Fritzbox ist so eingestellt das diese das internet zwichen 4 und 5 uhr erneuert (neue IP). Da aber die TrackmaniaServer.exe das nicht mitbekommt und auch keine Info an den Masterserver weitergibt. soll diese Datei und die Live.bat nach dem erneuern der IP neustarten. In diesem fall sollte die Live.bat wie oben genannt 30 sek später starten
Ich dachte es mir so:
1. Windows Anmeldung erfolgt (FALLS DER RECHNER MAL AUSGESCHALTET WURDE ODER STROMAUSFALL)
2. Starten der hier angefragten Batch-datei über Autostart (ICH NENNE SIE JETZT MAN AUTO.BAT)
3. auto.bat startet trackmaniaserver.exe
4. wartet 2 minuten
5. startet Live.bat
6. beendet Trackmaniaserver.exe und Live.bat um 05:30Uhr (JEDEN TAG!)
7. startet TrackmaniaServer um 05:31 (JEDEN TAG!)
8. startet Live.bat um zB. 05:32 (JEDEN TAG!)
Oder gibts vllt ein befehl der erkennt wenns internet neu aufgebaut wurde, wenn zB die internethardware oder der provider kurz streikt
wäre mir sogar am liebsten, kann ja sein das das inet mal mittags mal streikt.
Hoffe ihr könnt mir helfen.
MfG Thecranky
PS: Nein ich will mir keinen Server mieten!
Hallo...
ih möchte gerne eine Batch-Datei mit der ich folgendes bewerksteligen kann...:
Ich habe zwei dateien:
1. TrackmaniaServer.exe (wie der name schon sagt der server für Trackmania)
2. Live.bat (Ein Addon)
INFO: die Live.bat darf erst ca 30-60 sekunden starten nachdem trackmaniaserver.exe angefangen hat zu starten.
GRUND: Nach Start von TrackmaniaServer.exe verbindet sich der server zum masterserver von Trackmania, dies dauert ein paar sekunden. Erst wenn derServer fertig geladen hat, darf die Live.bat ausgeführt werden.
BETRIEBSSYSTEM:
Win XP Pro - Sp3
Mein Vorhaben:
1. Beide Dateien sollen mit hochfahren des Rechners gestartet werden (nach Benutzer-Anmeldung). Live.bat in diesem fall aber erst ca 1-2 Minuten später, weil Trackmania auch erst später connecten kann, da nicht sofort das netzwerk verfügbar ist.
2. Meine Fritzbox ist so eingestellt das diese das internet zwichen 4 und 5 uhr erneuert (neue IP). Da aber die TrackmaniaServer.exe das nicht mitbekommt und auch keine Info an den Masterserver weitergibt. soll diese Datei und die Live.bat nach dem erneuern der IP neustarten. In diesem fall sollte die Live.bat wie oben genannt 30 sek später starten
Ich dachte es mir so:
1. Windows Anmeldung erfolgt (FALLS DER RECHNER MAL AUSGESCHALTET WURDE ODER STROMAUSFALL)
2. Starten der hier angefragten Batch-datei über Autostart (ICH NENNE SIE JETZT MAN AUTO.BAT)
3. auto.bat startet trackmaniaserver.exe
4. wartet 2 minuten
5. startet Live.bat
6. beendet Trackmaniaserver.exe und Live.bat um 05:30Uhr (JEDEN TAG!)
7. startet TrackmaniaServer um 05:31 (JEDEN TAG!)
8. startet Live.bat um zB. 05:32 (JEDEN TAG!)
Oder gibts vllt ein befehl der erkennt wenns internet neu aufgebaut wurde, wenn zB die internethardware oder der provider kurz streikt
wäre mir sogar am liebsten, kann ja sein das das inet mal mittags mal streikt.
Hoffe ihr könnt mir helfen.
MfG Thecranky
PS: Nein ich will mir keinen Server mieten!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 151584
Url: https://administrator.de/contentid/151584
Ausgedruckt am: 24.11.2024 um 18:11 Uhr
11 Kommentare
Neuester Kommentar
Hallo TheCranky,
ich würde mir zwei Batchdateien erstellen. Eine, die über den Autostart beim Hochfahren des Rechners ausgeführt wird. Hier wird die trackmaniaserver.exe gestartet. Um die zwei Minuten bis zum Start der Live.bat zu warten, kannst Du mal Google nach wait.exe befragen oder Du nimmst den PING-Befehl in der Form
Das schickt 120 Pings auf Localhost, was ca. 120 Sekunden dauert. Durch >NUL werden die ganzen Ausgaben von PING nicht angezeigt.
Die zweite Batchdatei, in der der Trackmaniaserver gestoppt und wieder gestartet wird, würde ich über den Taskplaner täglich um 5:30 Uhr ausführen lassen. Der PING-Befehl würde dann
lauten, um 30 Sekunden bis zum Start der Live.bat zu warten.
Um auf eine Internettrennung zu beliebigen Zeiten zu reagieren, müsstest Du EIN Skript schreiben, das über den Autostart gestartet wird und die ganze Zeit läuft (Endlosskript). Das setzt z.B. alle 30 Sekunden einen Ping auf eine Internetseite Deiner Wahl ab. Bei Misserfolg wartet es so lange, bis sich die Seite wieder anpingen lässt und stoppt dann den Trackmaniaserver, startet ihn neu, wartet 30 Sekunden, startet dann die Live.bat und fängt danach wieder an, den Prüfping auf die Internetseite Deiner Wahl abzusetzen (GOTO-Schleife). Ungefähr so (unter Verwendung von WAIT.EXE von hier, die Du z.B. in den System32-Ordner kopieren musst):
Gruß
Friemler
ich würde mir zwei Batchdateien erstellen. Eine, die über den Autostart beim Hochfahren des Rechners ausgeführt wird. Hier wird die trackmaniaserver.exe gestartet. Um die zwei Minuten bis zum Start der Live.bat zu warten, kannst Du mal Google nach wait.exe befragen oder Du nimmst den PING-Befehl in der Form
ping -n 120 127.0.0.1 >NUL
Die zweite Batchdatei, in der der Trackmaniaserver gestoppt und wieder gestartet wird, würde ich über den Taskplaner täglich um 5:30 Uhr ausführen lassen. Der PING-Befehl würde dann
ping -n 30 127.0.0.1 >NUL
Um auf eine Internettrennung zu beliebigen Zeiten zu reagieren, müsstest Du EIN Skript schreiben, das über den Autostart gestartet wird und die ganze Zeit läuft (Endlosskript). Das setzt z.B. alle 30 Sekunden einen Ping auf eine Internetseite Deiner Wahl ab. Bei Misserfolg wartet es so lange, bis sich die Seite wieder anpingen lässt und stoppt dann den Trackmaniaserver, startet ihn neu, wartet 30 Sekunden, startet dann die Live.bat und fängt danach wieder an, den Prüfping auf die Internetseite Deiner Wahl abzusetzen (GOTO-Schleife). Ungefähr so (unter Verwendung von WAIT.EXE von hier, die Du z.B. in den System32-Ordner kopieren musst):
trackmaniaserver.exe
wait 120000
call Live.bat
:MonitorLoop
ping -n 1 deine.pruefseite.de >NUL && (wait 30000 & goto :MonitorLoop)
:WaitForReconnect
ping -n 1 deine.pruefseite.de >NUL || (wait 10000 & goto :WaitForReconnect)
trackmaniaserver.exe stop ::Oder wie auch immer der Befehl dazu lautet
trackmaniaserver.exe
wait 30000
call Live.bat
goto :MonitorLoop
Gruß
Friemler
Hallo TheCranky und willkommen im Forum!
startest (oder in der "Live.bat" eine Zeile der Art
verwendest) und mit
das Schließen auf Basis des Fenstertitels durchführst (ungetestet) ...
Grüße
bastla
also wie bekomme ich das zweite cmd-fenster geschlossen?
Indem Du mitset "Live=D:\Live.bat"
start "LIVE" "%Live%"
title LIVE
taskkill /F /FI "WINDOWTITLE eq LIVE - %Live%"
Grüße
bastla