Melaksanakan Perintah CMD melalui Java
Masalah:
Percubaan untuk melaksanakan arahan CMD melalui Kelas Java tetapi menghadapi cabaran memahami kod. Pengguna memerlukan panduan tentang cara melaksanakan arahan tertentu, seperti menukar direktori (cd) dan menjalankan arahan dalam direktori baharu.
Penyelesaian:
Satu pendekatan untuk melaksanakan proses daripada direktori alternatif kepada direktori kerja program Java anda adalah untuk menavigasi ke direktori yang dikehendaki dan melaksanakan proses dalam baris arahan yang sama. Ini boleh dicapai dengan mengarahkan cmd.exe untuk menjalankan baris arahan dalam bentuk:
cd some_directory && some_program
Contoh Kod:
Kod Java berikut menunjukkan perubahan kepada direktori yang berbeza dan melaksanakan arahan "dir" di dalamnya direktori:
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); } } }
Penjelasan:
Sampel Output:
Kod yang disediakan menghasilkan output berikut:
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
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Perintah CMD dari Direktori Berbeza di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!