WinFuture-Forum.de: Batch: Nach einer gewissen Inaktivität Batch automatisch schließen - WinFuture-Forum.de

Zum Inhalt wechseln

Alle Informationen zum Thema Windows 7 in unserem Special. Windows 7 Download, FAQ und neue Funktionen im Überblick.
Seite 1 von 1

Batch: Nach einer gewissen Inaktivität Batch automatisch schließen


#1 Mitglied ist offline   Vikiller94 

geschrieben 13. September 2019 - 21:40

Hallo,

ich möchte gerne, dass wenn ich ein Programm nach einer gewissen Zeit (1 min) nicht ausführe, dass die Batch automatisch sich beendet, gegebenfalls mit einer MessageBox.

Hier ist ein Code für die MessageBox aber weiss ich nicht wie die Batch von alleine sich schliesst.

Habe mir das so überlegt:

tasklist /v | find "MinecraftLauncher.exe"

if %errorlevel% nicht gleich 0 nach 60 Sek
batch killt sich automatisch mit einer Warnmeldung.

echo msgbox"Da Minecraft nicht gestartet wurde, wurde der SyncKiller automatisch geschlossen. Bei Bedarf erneut öffnen!",vbInformation , "Warnung - Minecraft_SyncKiller"> %temp%\msg.vbs 
%Temp%\msg.vbs 
erase %temp%\msg.vbs



Dieser Beitrag wurde von Vikiller94 bearbeitet: 13. September 2019 - 21:41

0

Anzeige



#2 Mitglied ist offline   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 8.760
  • Beigetreten: 20. Juli 07
  • Reputation: 1.096

geschrieben 13. September 2019 - 22:37

Sync? Killer? :huh: Aha. :huh:


Aus Batch raus kommt man mit exit /B.
"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
Eingefügtes Bild
0

#3 Mitglied ist offline   Vikiller94 

geschrieben 13. September 2019 - 22:51

Beitrag anzeigenZitat (RalphS: 13. September 2019 - 22:37)

Sync? Killer? :huh: Aha. :huh:


Aus Batch raus kommt man mit exit /B.


Kann man exit /B zeitsteuern?
0

#4 Mitglied ist offline   Vikiller94 

geschrieben 14. September 2019 - 22:54

Hallöchen.

Ich habe die Antwort. Es funkt einwandfrei. Bin sehr glücklich :)

Hier der Code mit Begründung:


@echo off

REM Wait = Bevor Minecraft startet
REM Kill = Nachdem Minecraft gestartet wurde

REM 60 (Timer) | 12 Sek. -> 60*5 = 300 | 12*5 = 60 Sek.

set /a Timer = 300

:Wait 
tasklist /v | find "MinecraftLauncher.exe"

if %Timer% == 0 goto End

if not %errorlevel% == 0 ( set /a Timer = %Timer% - 1 & goto Wait )

if %errorlevel% == 0 goto Kill

:Kill
timeout 10
taskkill /F /IM "RealTimeSync_x64.exe"
exit

:End
echo msgbox"Da Minecraft nicht gestartet wurde, wurde der SyncKiller automatisch geschlossen. Bei Bedarf erneut doppelklicken!",vbInformation , "Warnung - Minecraft_SyncKiller"> %temp%\msg.vbs 
%Temp%\msg.vbs 
erase %temp%\msg.vbs & exit




Undzwar habe ich zuerst den Timer definiert (Achtung die Zahl entspricht nicht den Sekunden -> 60 = 12 Sek)
Dieser wird immer abgezogen, wenn Minecraft nicht gestartet wurde. Dann geht das System wieder zurück zum Wait-Checkpunkt.
Immer so weiter bis entweder in dem Zeitraum von 60 Sek. (300 wegen 60*5) Minecraft geöffnet wird und der Sync automatich getötet wird mit taskkill oder der Timer nährt sich der 0 und es erscheint eine MessageBox und nach dem OK-Klicken schließt die Batch-Datei.

So einfach :)
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0