Semua jawaban lain benar: gunakan panggilan. Sebagai contoh:
call "msbuild.bat"
Sejarah
Dalam versi DOS kuno itu tidak mungkin untuk mengeksekusi file batch secara rekursif. Kemudian perintah panggilan diperkenalkan yang memanggil shell cmd lain untuk mengeksekusi file batch dan mengembalikan eksekusi ke shell cmd panggilan ketika selesai.
Jelas dalam versi yang lebih baru tidak ada lagi cmd shell yang diperlukan.
Pada hari-hari awal banyak file batch tergantung pada kenyataan bahwa memanggil file batch tidak akan kembali ke file batch panggilan. Mengubah perilaku itu tanpa sintaks tambahan akan merusak banyak sistem seperti sistem menu batch (menggunakan file batch untuk struktur menu).
Seperti dalam banyak kasus dengan Microsoft, kompatibilitas ke belakang adalah alasan untuk perilaku ini.
Kiat
Jika file batch Anda memiliki spasi dalam namanya, gunakan tanda kutip di sekitar nama:
call "unit tests.bat"
Omong-omong: jika Anda tidak memiliki semua nama file batch, Anda juga dapat menggunakan untuk melakukan ini (itu tidak menjamin urutan panggilan file batch yang benar; itu mengikuti urutan sistem file):
FOR %x IN (*.bat) DO call "%x"
Anda juga dapat bereaksi pada tingkat kesalahan setelah panggilan. Menggunakan:
exit /B 1 # Or any other integer value in 0..255
untuk mengembalikan tingkat kesalahan. 0 menunjukkan eksekusi yang benar. Dalam file batch panggilan Anda dapat bereaksi menggunakan
if errorlevel neq 0 <batch command>
Gunakan if errorlevel 1
jika Anda memiliki Windows yang lebih tua dari NT4 / 2000 / XP untuk menangkap semua tingkat kesalahan 1 dan lebih besar.
Untuk mengontrol aliran file batch, ada goto :-(
if errorlevel 2 goto label2
if errorlevel 1 goto label1
...
:label1
...
:label2
...
Seperti yang ditunjukkan orang lain: lihat membangun sistem untuk mengganti file batch.