Dalam aplikasi Java saya, saya ingin menjalankan file batch yang memanggil " scons -Q implicit-deps-changed build\file_load_type export\file_load_type
"
Tampaknya saya bahkan tidak bisa menjalankan file batch saya. Saya kehabisan ide.
Inilah yang saya miliki di Jawa:
Runtime.
getRuntime().
exec("build.bat", null, new File("."));
Sebelumnya, saya memiliki file Python Sconscript yang ingin saya jalankan tetapi karena itu tidak berhasil, saya memutuskan untuk memanggil skrip melalui file batch tetapi metode itu belum berhasil.
sumber
Win+R
(Runtime) dapat menjalankan file batch secara langsung.Kadang-kadang waktu proses eksekusi thread lebih tinggi dari waktu proses thread JVM menunggu, ini biasanya terjadi ketika proses yang Anda panggil membutuhkan waktu untuk diproses, gunakan perintah waitFor () sebagai berikut:
Dengan cara ini JVM akan berhenti sampai proses yang Anda panggil selesai sebelum melanjutkan dengan tumpukan eksekusi utas.
sumber
sumber
Untuk menjalankan file batch menggunakan java jika itu yang Anda bicarakan ...
Ini harus melakukannya.
sumber
ProcessBuilder adalah cara Java 5/6 untuk menjalankan proses eksternal.
sumber
Eksekusi yang digunakan untuk menjalankan skrip batch adalah
cmd.exe
yang menggunakan/c
flag untuk menentukan nama file batch yang akan dijalankan:Secara teoritis Anda juga harus dapat menjalankan Scons dengan cara ini, meskipun saya belum menguji ini:
EDIT: Amara, Anda mengatakan bahwa ini tidak berfungsi. Kesalahan yang Anda daftarkan adalah kesalahan yang Anda dapatkan saat menjalankan Java dari terminal Cygwin pada kotak Windows; apakah ini yang kamu lakukan? Masalahnya adalah bahwa Windows dan Cygwin memiliki jalur yang berbeda, sehingga versi Windows Java tidak akan menemukan scons yang dapat dieksekusi di jalur Cygwin Anda. Saya bisa menjelaskan lebih lanjut jika ini ternyata menjadi masalah Anda.
sumber
diuji dengan jdk1.5 dan jdk1.6
Ini berfungsi dengan baik untuk saya, semoga membantu orang lain juga. untuk mendapatkan ini saya telah berjuang lebih banyak hari. :(
sumber
Saya memiliki masalah yang sama. Namun terkadang CMD gagal menjalankan file saya. Itu sebabnya saya membuat temp.bat di desktop saya, selanjutnya temp.bat ini akan menjalankan file saya, dan selanjutnya file temp akan dihapus.
Saya tahu ini adalah kode yang lebih besar, namun berhasil untuk saya 100% bahkan ketika Runtime.getRuntime (). Exec () gagal.
sumber
Berikut ini berfungsi dengan baik:
sumber
Kode ini akan mengeksekusi dua commands.bat yang ada di jalur C: / folder / folder.
sumber
Untuk memperluas anwser @ Isha Anda cukup melakukan hal berikut untuk mendapatkan keluaran yang dikembalikan (post-facto tidak dalam waktu nyata) dari skrip yang dijalankan:
sumber