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
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); } } }
Erklärung:
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
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!