Heim > Java > javaLernprogramm > Wie führe ich CMD-Befehle aus verschiedenen Verzeichnissen in Java aus?

Wie führe ich CMD-Befehle aus verschiedenen Verzeichnissen in Java aus?

Mary-Kate Olsen
Freigeben: 2025-01-03 05:48:39
Original
636 Leute haben es durchsucht

How to Execute CMD Commands from Different Directories in Java?

CMD-Befehle über Java ausführen

Problem:

Versuch, CMD-Befehle über ein auszuführen Ich bin eine Java-Klasse, habe aber Schwierigkeiten, den Code zu verstehen. Der Benutzer benötigt Anleitung zur Ausführung bestimmter Befehle, wie zum Beispiel zum Wechseln von Verzeichnissen (cd) und zum Ausführen von Befehlen innerhalb des neuen Verzeichnisses.

Lösung:

Ein Ansatz zur Ausführung Um Prozesse aus alternativen Verzeichnissen in das Arbeitsverzeichnis Ihres Java-Programms zu verschieben, navigieren Sie zum gewünschten Verzeichnis und führen Sie den Prozess in derselben Befehlszeile aus. Dies kann erreicht werden, indem Sie cmd.exe anweisen, eine Befehlszeile der Form auszuführen:

cd some_directory && some_program
Nach dem Login kopieren

Codebeispiel:

Der folgende Java-Code demonstriert den Wechsel zu a in ein anderes Verzeichnis kopieren und darin den Befehl „dir“ ausführen Verzeichnis:

import java.io.*;

public class CmdTest {
    public static void main(String[] args) throws Exception {
        ProcessBuilder builder = new ProcessBuilder(
            "cmd.exe", "/c", "cd \"C:\Program Files\Microsoft SQL Server\" && dir");
        builder.redirectErrorStream(true);
        Process p = builder.start();
        BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream()));
        String line;
        while (true) {
            line = r.readLine();
            if (line == null) {
                break;
            }
            System.out.println(line);
        }
    }
}
Nach dem Login kopieren

Erklärung:

  • Dieser Code verwendet den ProcessBuilder, um den Befehl auszuführen.
  • Der „redirectErrorStream(true)“ „ Der Aufruf leitet den Standardfehler des Prozesses an seine Standardausgabe weiter, was zu nur einem Stream führt lesen.

Beispielausgabe:

Der bereitgestellte Code erzeugt die folgende Ausgabe:

C:\Users\Luke\StackOverflow>java CmdTest
 Volume in drive C is Windows7
 Volume Serial Number is D8F0-C934

 Directory of C:\Program Files\Microsoft SQL Server

29/07/2011  11:03    <DIR>          .
29/07/2011  11:03    <DIR>          ..
21/01/2011  20:37    <DIR>          100
21/01/2011  20:35    <DIR>          80
21/01/2011  20:35    <DIR>          90
21/01/2011  20:39    <DIR>          MSSQL10_50.SQLEXPRESS
               0 File(s)              0 bytes
               6 Dir(s)  209,496,424,448 bytes free
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie führe ich CMD-Befehle aus verschiedenen Verzeichnissen in Java aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage