Saya memiliki file batch yang memanggil file batch lain yang ada di direktori PATH (pada dasarnya memanggil executable dengan switch tambahan.)
: bar.bat:
foo.bat file1.txt
foo.bat file2.txt
etc.
Di foo.bat:
foo.exe -t -s %1
bar.bat menjalankan perintah pertama tetapi langsung keluar (yaitu hanya bekerja pada file1.txt ).
Bagaimana saya bisa membuat batch file ini untuk memohon batch file lainnya lebih dari sekali?
goto :eof
untuk kembali lebih awal.exit /b
biasanya hanya diperlukan jika Anda memerlukan kode kembali.exit /b
dangoto: eof
. Apakah boleh menambahkan output dari bat yang dipanggil?call foo.bat > myfile
Selain jawaban @ splattne, gunakan
exit /b
dalamCALL
file batch ed jika Anda harus kembali lebih awal.sumber
Opsi lain (untuk kompatibilitas dengan DOS sebelum versi 3.3 :-)) adalah memanggil proses perintah dengan opsi child (/ c) dan nama file batch lain untuk diproses. Itu juga akan melakukan panggilan alih-alih rantai, dan bahkan akan bekerja pada mesin yang benar-benar kuno (kalau-kalau ada orang berlari melintasi ini dan peduli). :-)
sumber
@echo mati
echo WbLegalReport.cmd
saya:
cd I: \ CFS \ Batch \ jarDir
gema% CD%
WbLegalReport.cmd
gema% CD%
gema WatchResrAddDeleted.cmd
gema% CD%
WatchRestrAddDeleted.cmd
gema% CD%
Apa yang saya coba lakukan di sini adalah memanggil dua file batch ini secara berurutan.
Tidak dapat melakukannya.
tolonglah.
Sebenarnya itu gagal pada skrip anak, Karena kontrol tidak kembali ke skrip utama
sumber
Sanket, jangan panggil file batch secara langsung. Gunakan perintah "PANGGILAN". Lihat contoh splattne .
sumber