CMD-Befehle aus Java ausführen
Wie Sie festgestellt haben, kann das Ausführen von CMD-Befehlen aus einem Java-Programm heraus eine knifflige Aufgabe sein. Obwohl online zahlreiche Codeausschnitte verfügbar sind, kann es schwierig sein, sie alle zu verstehen.
Beginnen wir damit, dass wir uns mit Ihrem Ziel befassen, die CMD-Eingabeaufforderung zu öffnen:
public void excCommand(String new_dir){ Runtime rt = Runtime.getRuntime(); try { rt.exec(new String[]{"cmd.exe","/c","start"}); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
Dieser Code öffnet erfolgreich die CMD-Eingabeaufforderung. Um in ein anderes Verzeichnis zu wechseln, bevor Sie Befehle ausführen, müssen Sie den an rt.exec() übergebenen Befehl ändern.
Um beispielsweise in das Verzeichnis „C:Program FilesFlowella“ zu wechseln und dann die Datei „dir "-Befehl, verwenden Sie den folgenden Code:
ProcessBuilder builder = new ProcessBuilder( "cmd.exe", "/c", "cd \"C:\Program Files\Flowella\" && dir"); builder.redirectErrorStream(true); Process p = builder.start();
Der Befehl cd wird zum Wechseln von Verzeichnissen verwendet, und der Befehl && Der Operator sorgt dafür, dass der dir-Befehl nur ausgeführt wird, wenn der Verzeichniswechsel erfolgreich ist. Die Methode „redirectErrorStream(true)“ kombiniert die Standardausgabe- und Fehlerströme zur einfacheren Verarbeitung in einem einzigen Stream.
Abschließend können Sie durch Lesen der Standardausgabe des Prozesses den Verzeichnisinhalt auf der Konsole anzeigen.
Das obige ist der detaillierte Inhalt vonWie kann ich CMD-Befehle ausführen und Verzeichnisse in einem Java-Programm ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!