Inilah yang saya temukan ketika menjalankan file batch secara paralel (beberapa contoh file bat yang sama pada saat yang sama dengan parameter input berbeda):
Katakanlah Anda memiliki file exe yang melakukan tugas panjang yang disebut LongRunningTask.exe
Jika Anda memanggil exe langsung dari file bat, hanya panggilan pertama ke LongRunningTask yang akan berhasil, sementara sisanya akan mendapatkan kesalahan OS "File sudah digunakan oleh proses"
Jika Anda menggunakan perintah ini:
mulai / B / Tunggu "" "parameter LongRunningTask.exe" ""
Anda akan dapat menjalankan beberapa instance dari bat dan exe, sambil masih menunggu tugas selesai sebelum bat melanjutkan mengeksekusi perintah yang tersisa. Opsi / B adalah untuk menghindari membuat jendela lain, tanda kutip kosong diperlukan untuk perintah untuk bekerja, lihat referensi di bawah ini.
Perhatikan bahwa jika Anda tidak menggunakan / WAIT di awal, LongRunningTask akan dieksekusi pada waktu yang sama dari perintah yang tersisa dalam file batch, jadi itu dapat membuat masalah jika salah satu dari perintah ini memerlukan output dari LongRunningTask
Melanjutkan:
Ini tidak dapat berjalan secara paralel:
- sebut LongRunningTask.exe
Ini akan berjalan secara paralel dan akan baik-baik saja sejauh tidak ada dependensi data antara output dari perintah dan sisa file bat:
- mulai / B "" "parameter LongRunningTask.exe" ""
Ini akan berjalan secara paralel dan menunggu tugas selesai, sehingga Anda dapat menggunakan output:
- mulai / B / Tunggu "" "parameter LongRunningTask.exe" ""
Referensi untuk perintah mulai: Bagaimana saya bisa menjalankan program dari file batch tanpa membiarkan konsol terbuka setelah program dimulai?