Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Menjalankan Perintah CMD dan Menukar Direktori dari dalam Program Java?

Bagaimanakah Saya Boleh Menjalankan Perintah CMD dan Menukar Direktori dari dalam Program Java?

Susan Sarandon
Susan Sarandonasal
2024-12-04 08:31:11680semak imbas

How Can I Run CMD Commands and Change Directories from within a Java Program?

Menjalankan Perintah CMD dari Java

Seperti yang anda temui, melaksanakan arahan CMD dari dalam program Java boleh menjadi tugas yang sukar. Walaupun terdapat banyak coretan kod yang tersedia dalam talian, ia mungkin sukar untuk memahami kesemuanya.

Mari kita mulakan dengan menangani matlamat anda untuk membuka gesaan CMD:

public void excCommand(String new_dir){
    Runtime rt = Runtime.getRuntime();
    try {
        rt.exec(new String[]{"cmd.exe","/c","start"});

    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

Kod ini berjaya membuka Gesaan CMD. Untuk menukar kepada direktori lain sebelum menjalankan arahan, anda perlu mengubah suai arahan yang dihantar kepada rt.exec().

Sebagai contoh, untuk menukar kepada direktori "C:Program FilesFlowella" dan kemudian jalankan "dir " perintah, gunakan kod berikut:

ProcessBuilder builder = new ProcessBuilder(
    "cmd.exe", "/c", "cd \"C:\Program Files\Flowella\" && dir");
builder.redirectErrorStream(true);
Process p = builder.start();

Arahan cd digunakan untuk menukar direktori dan && operator memastikan bahawa arahan dir hanya dilaksanakan jika perubahan direktori berjaya. Kaedah redirectErrorStream(true) menggabungkan output standard dan aliran ralat ke dalam satu strim untuk pemprosesan yang lebih mudah.

Akhir sekali, membaca output standard proses membolehkan anda memaparkan kandungan direktori pada konsol.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjalankan Perintah CMD dan Menukar Direktori dari dalam Program Java?. 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