Batch: .jar als Unterprogramm starten, aber nicht auf Beendigung warten?

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

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


timlg07 
Beitragsersteller
 23.02.2018, 15:42

Sorry, hatte vergessen dir den Stern zu geben ;)

timlg07 
Beitragsersteller
 24.09.2017, 13:32

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 ^^

timlg07 
Beitragsersteller
 24.09.2017, 13:24

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


timlg07 
Beitragsersteller
 24.09.2017, 16:03

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?