Rumah > Java > javaTutorial > Bagaimana untuk Melaksanakan Perintah CMD dari Direktori Berbeza di Jawa?

Bagaimana untuk Melaksanakan Perintah CMD dari Direktori Berbeza di Jawa?

Mary-Kate Olsen
Lepaskan: 2025-01-03 05:48:39
asal
631 orang telah melayarinya

How to Execute CMD Commands from Different Directories in Java?

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
Salin selepas log masuk

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);
        }
    }
}
Salin selepas log masuk

Penjelasan:

  • Kod ini menggunakan ProcessBuilder untuk melaksanakan arahan.
  • "redirectErrorStream(true) "panggilan mengubah hala ralat standard proses kepada output standardnya, menghasilkan hanya satu aliran ke baca.

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
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan