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
Mary-Kate Olsenasal
2025-01-03 05:48:39640semak imbas

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

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:

  • 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

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!

Kenyataan:
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