Heim >Java >javaLernprogramm >Wie kann ich CMD-Befehle ausführen und Verzeichnisse in einem Java-Programm ändern?

Wie kann ich CMD-Befehle ausführen und Verzeichnisse in einem Java-Programm ändern?

Susan Sarandon
Susan SarandonOriginal
2024-12-04 08:31:11680Durchsuche

How Can I Run CMD Commands and Change Directories from within a Java Program?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn