Batch: .jar als Unterprogramm starten, aber nicht auf Beendigung warten?
Ich möchte mit Batch eine score.jar starten, die parallel zur Batch (und anderen jars) laufen soll (->Batch soll nicht auf Beendigung warten). Wenn die Batch aber beendet wird, soll sich die score.jar auch schließen.
Start mit java.exe --> schließt sich wie gewünscht, batch wird aber nicht fortgesetzt
Start mit start "..." --> Batch wird fortgesetzt, aber die jar nicht beendet.
Gibt es da noch eine 3.Möglichkeit ... vielleicht auch mit vbs?
2 Antworten
Guten Tag,
ich empfehle dir folgendes Video von grelleslicht28:
https://m.youtube.com/watch?v=1k8Hp_ydiaM
In diesem wird erklärt, wie man mehrere Threads in Batch starten kann.
Du müsstest einen neuen Thread für die jar-Datei starten und dein Skript danach weiterlaufen lassen.
Mit freundlichen Grüßen
AnonLuke
Der start /b Befehl ist ja cool, mit dem geht Multithreading ja richtig easy. Und ich hab mir da immer nen schrott aus calls und starts zusammengemixt ^^
Danke für deine Antwort ;) Ich mag Multithreading in Batch eigentlich nicht so ... aber werds mal ausprobieren - Gute Idee👍
So hab mir mithilfe des Videos die Lösung gebastelt:
An den Anfang der Batch:
@echo off & setlocal enabledelayedexpansion
if not "%~1"=="" goto %~1 ::...
Dann irgendwo den Thread anlegen: (so das man nicht zufällig reinrutscht)
:showScore () {
for /f %%a in ('java -jar functions\score.jar "userinfo\\score.dat"') do call :speak %%a
goto showScore
}
damit bleibt das Fenster so lang offen, wie die Batch offen ist.
Um den Thread zu starten, an der gewünschten Stelle einfach:
start /b %~nx0 "showScore"
Nur damit ich das andere als hilfreichste Antwort markieren kann (und falls jemand ein ähnliches Problem hat)
~Tim
gibt es eine Möglichkeit immer sofort die sysouts zu bekommen oder muss man die in ne Datei schreiben und mit nem Thread überprüfen?