Auführung mehrere Command-line Befehle mit Java
Hallo Zusammen,
ich möchte gern ein kleines Script schreiben, welches mir mehrere CMD-Befehle hineinander ausführt. Mein Problem ist nun das ich mit dem Befehle
nur einen Befehl übergeben kann, der in 1 Zeile geschrieben werden kann.
Den code mehremals zu verwenden also z.B.
nützt mir nichts, da ich so immer wieder eine neue CMD aufrufe und somit ich nicht auf vorherigen Befehlen aufbauen kann was ich muss.
Meine Frage nun gibt es eine andere Möglichkeit dies zu lösen oder eine Möglichkeit einen "Enterdruck" zu übergeben.
ich möchte gern ein kleines Script schreiben, welches mir mehrere CMD-Befehle hineinander ausführt. Mein Problem ist nun das ich mit dem Befehle
Process p = Runtime.getRuntime().exec(cmd /c dir)
Den code mehremals zu verwenden also z.B.
Process p = Runtime.getRuntime().exec(cmd /c start dir)
Process p = Runtime.getRuntime().exec(cmd /c start ipconfig)
Meine Frage nun gibt es eine andere Möglichkeit dies zu lösen oder eine Möglichkeit einen "Enterdruck" zu übergeben.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 276139
Url: https://administrator.de/forum/aufuehrung-mehrere-command-line-befehle-mit-java-276139.html
Ausgedruckt am: 21.02.2025 um 12:02 Uhr
3 Kommentare
Neuester Kommentar

Moin,
das geht mit dem ProcessBuilder:
http://docs.oracle.com/javase/7/docs/api/java/lang/ProcessBuilder.html
Gruß jodel32
das geht mit dem ProcessBuilder:
http://docs.oracle.com/javase/7/docs/api/java/lang/ProcessBuilder.html
Gruß jodel32
Hallo Tobiased,
wie @114757 schon richtigerweise erwähnt hat, ProcessBuilder ist dein Freund
Hier ein Beispiel für mehrere Befehle in einem gemeinsamen Environment:
Grüße Uwe
wie @114757 schon richtigerweise erwähnt hat, ProcessBuilder ist dein Freund
Hier ein Beispiel für mehrere Befehle in einem gemeinsamen Environment:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.nio.charset.Charset;
public class RunMultipleCommands {
public static void main(String Args){
// Kommandoliste erstellen (jedes Argument muss ein separates Array-Element sein)
String commandlist = {
{"ping","localhost"},
{"ping","8.8.8.8"}
};
// Liste der Befehle ausführen
RunCommands(commandlist);
}
// Funktion die die Befehle in einerm gemeinsamen Evironment ausführt
public static void RunCommands(String commands){
try{
ProcessBuilder pb = new ProcessBuilder();
String s = null;
Charset charset = Charset.forName("IBM850");
BufferedReader stdInput;
Process proc;
for (String command :commands){
pb.command(command);
proc = pb.start();
stdInput = new BufferedReader(new InputStreamReader(
proc.getInputStream(),charset));
while ((s = stdInput.readLine()) != null) {
System.out.println(s);
}
}
}catch(Exception ex){}
}
}