# Externe Batch-Datei starten und anwendung beenden?!



## Steve5000 (12. Feb 2011)

Hallo,

ich versuche schon seit einiger Zeit eine Batch-Datei zu starten (das
funktioniert auch), jedoch möchte ich mein Java-Programm nach dem
Start der Batch-Datei beenden und diese aber weiter ausführen. 

Mein Problem ist, dass die Batch-Datei mit dem Programm immer 
beendet wird. Gibt es da irgendeine Möglichkeit? Die Batch-Datei
sollte möglichst im Hintergrund laufen und nicht in einer Konsole
"aufpoppen".

Bin über jede Idee und Hilfe dankbar!

Grüße,
Steve5000


----------



## L-ectron-X (12. Feb 2011)

Wenn du den _start_-Befehl benutzt, sollte deine Batchdatei von deinem Java-Programm abgekoppelt laufen.
Bsp:
	
	
	
	





```
rem Batchbefehle
@start javaw -jar MeinProgramm.jar
rem weitere Batchbefehle
```

Alternativ kannst du auch die Befehle über ein Java-Programm ans Betriebssystem absetzen, dann "poppt" nichts auf.


----------



## Steve5000 (12. Feb 2011)

L-ectron-X hat gesagt.:


> Wenn du den _start_-Befehl benutzt, sollte deine Batchdatei von deinem Java-Programm abgekoppelt laufen.
> Bsp:
> 
> 
> ...



Erstmal vielen Dank für die Antwort, aber das möchte ich nicht ganz so,
habe mich wahrscheinlich etwas unverständlich ausgedrückt.

Mein Java-Programm soll eine Batch-Datei starten und sich dann beenden,
da die Batch-Datei das Java-Programm "updatet" und anschließend wieder
startet.

In meinem Prog habe ich das mit folgenden Methoden probiert:

1. ProcessBuilder:


```
ProcessBuilder processBuilder = new ProcessBuilder("update.bat");
Process process = processBuilder.start();
```

2. Runtime:


```
Runtime.getRuntime().exec("cmd /c update.bat");
```

Bei beiden Aufrufen wird komischer Weise nach dem Aufruf von z.B.
System.exit(0) die Batch-Datei auch beendet. Die zweite Methode
funktioniert mit EXE-Dateien (unter Win) ohne Probleme, warum
nicht mit Batch-Dateien? :-(


----------



## Cola_Colin (12. Feb 2011)

Eventuell statt einer batchdatei ein java-Programm zum update verwenden ?


----------



## L-ectron-X (12. Feb 2011)

Funktioniert sowas?

```
Runtime.getRuntime().exec("cmd /c start update.bat");
```

Ansonsten ist vielleicht Webstart die richtige Wahl.


----------

