G
Guest
Gast
Hi zusammen,
ich habe folgende Klasse, in der ein Skript mit Parametern ausgeführt werden soll. Diese sieht wie folgt aus:
Nun rufe ich die Methode auf:
Leider erhalte ich natürlich immer nur eine Zeile der Ausgabe der Kommandokonsole (in diesem Fall die Version des Betriebssystems).
Wie kann man direkt alle Zeilen ausgeben lassen?
Dann könnte man prüfen, ob die Methode so richtig arbeitet. Ist die Ausführung des Skripts so korrekt?
ich habe folgende Klasse, in der ein Skript mit Parametern ausgeführt werden soll. Diese sieht wie folgt aus:
Code:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class ScriptExecutor {
public void fuehreProgrammAus(String festplatte, String pfad) {
try {
String cmdstart[] = { "cmd.exe", "start", festplatte, pfad};
Process proc = new ProcessBuilder("cmd.exe", "start", festplatte, pfad).start();
BufferedReader br = new BufferedReader(new InputStreamReader(proc.getInputStream()));
String str = br.readLine();
System.out.println("Ausgabe der Konsole: "+str);
} catch (IOException e) {
// TODO Automatisch erstellter Catch-Block
e.printStackTrace();
}
}
}
Nun rufe ich die Methode auf:
Code:
import java.net.MalformedURLException;
public class Test {
public static void main(String[] args)
{
ScriptExecutor ex = new ScriptExecutor();
ex.fuehreProgrammAus("/d", "MeinOrdner\\meinSkript --help");
}
}
Leider erhalte ich natürlich immer nur eine Zeile der Ausgabe der Kommandokonsole (in diesem Fall die Version des Betriebssystems).
Wie kann man direkt alle Zeilen ausgeben lassen?
Dann könnte man prüfen, ob die Methode so richtig arbeitet. Ist die Ausführung des Skripts so korrekt?