So bevor ihr mich erschlagt, von wegen Suche benutzen usw. Hab ich gemacht und im Prinzip weiß ich auch wie es laufen müßte, nur irgendwas habe ich noch nicht hinreichend berücksichtigt. Also ich will aus meinem Programm heraus ne Batch-Datei starten, die intern widerum ne Batch-Datei startet über ein Call-Befehl (daran kann ich leider nichts ändern). Wie dem auch sei, ich bekomme es nicht hin, meine Anwendung für die Zeit der Batch-Ausführung (dauert ca. 20 Sek.) schlafen zu legen, damit sie auf das Ergebnis wartet. Des weiteren möchte ich gerne auswerten ob das ganze erfolgreich war oder nicht (anhand der Ausgaben).
Also diesen Code hab ich gerade, aber bis auf die erfolgreiche Ausführung klappt nichts anderes. Kein Block der Hauptanwendung und keine Rückgabewerte im String (line), obwohl bei normalem Aufruf der Batch was zu sehen ist. Ich danke euch schon jetzt für eure Hilfe.
Also diesen Code hab ich gerade, aber bis auf die erfolgreiche Ausführung klappt nichts anderes. Kein Block der Hauptanwendung und keine Rückgabewerte im String (line), obwohl bei normalem Aufruf der Batch was zu sehen ist. Ich danke euch schon jetzt für eure Hilfe.
Code:
String cmd = "cmd /c start test.bat datei.xml";
try {
Process p = Runtime.getRuntime().exec(cmd);
System.out.println("waiting for termination");
try {
p.waitFor();
} catch (InterruptedException e) {}
BufferedReader procout = new BufferedReader(
new InputStreamReader(p.getInputStream())
);
String line;
while ((line = procout.readLine()) != null) {
System.out.println(" OUT> " + line);
}
} catch( IOException e) {
System.out.println("Fehler");
}