Heim >Java >javaLernprogramm >Wie kann ich mehrere CMD-Befehle von Java aus ausführen?
Befehlszeilenbefehle mit Java ausführen
Beim Versuch, Befehlszeilenargumente mit Java auszuführen, ist es wichtig, die Nuancen der verschiedenen Operationen zu verstehen Systeme. Dieser Artikel befasst sich mit einem spezifischen Problem, mit dem Windows-Benutzer konfrontiert sind, wenn sie versuchen, CMD-Befehle über Java auszuführen.
Das in der Frage bereitgestellte Beispiel zeigt einen Versuch, die Befehle „cd“ und „dir“ über den Befehl auszuführen Linie mit Java. Diese Methode liefert jedoch nicht die erwarteten Ergebnisse. Um dies zu überwinden, ist ein alternativer Ansatz erforderlich.
Die Lösung liegt in der Erstellung eines Command Prompt (CMD)-Prozesses und der interaktiven Kommunikation mit ihm über Eingabe- und Ausgabeströme. Dies ermöglicht die nahtlose Ausführung mehrerer Befehle innerhalb eines einzelnen Prozesses, wie im folgenden Code dargestellt:
String[] command = {"cmd"}; Process p = Runtime.getRuntime().exec(command); // Thread to handle error stream new Thread(new SyncPipe(p.getErrorStream(), System.err)).start(); // Thread to handle input stream new Thread(new SyncPipe(p.getInputStream(), System.out)).start(); // PrintWriter to write to the output stream PrintWriter stdin = new PrintWriter(p.getOutputStream()); // Write the "dir" command stdin.println("dir c:\ /A /Q"); // Close the stdin stream stdin.close(); // Wait for the process to complete int returnCode = p.waitFor(); // Print the return code System.out.println("Return code = " + returnCode);
Dieser Ansatz ermöglicht die Ausführung mehrerer Befehle innerhalb des CMD-Prozesses und sorgt so für einen effizienteren und vielseitigeren Prozess Art der Interaktion mit der Befehlszeile von Java.
Das obige ist der detaillierte Inhalt vonWie kann ich mehrere CMD-Befehle von Java aus ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!