Saya mencoba membuat skrip untuk mengeksekusi exe saat shutdown untuk menginstal sp1. skrip saya berjalan seperti (bukan skrip kelelawar yang sebenarnya).
If installed GOTO END
Install.exe
END:
Masalah saya adalah ketika dijalankan, ia memulai penginstal, kemudian menyelesaikan skrip karena proses penginstal berbeda dan menindaklanjuti dengan mematikan proses penginstalan karena komputer mematikan dan mematikan sistem (setidaknya, itulah yang saya pikir sedang dilakukan.)
Apakah ada cara untuk mengatakannya untuk menunggu sampai proses mulai selesai dan kemudian dimatikan?
windows
batch-file
executable
Kravlin
sumber
sumber
like start /wait install; exit
?cmd /C start /wait install
Satu cara yang lebih pendek:
Juga
dapat digunakan, meskipun dengan lebih pada akhirnya Anda akan dapat menangkap beberapa output konsol. Dan inilah alasannya - perintah pipa menunggu input sampai .exe selesai
sumber
<
,>
,>>
,&
,&&
,||
,|
)Entah memanggil exe langsung dari file batch, atau menggunakan
start /wait
akan bekerja tetapi ada peringatan.Jika exe yang Anda panggil kemudian membuat proses lain, seperti memanggil exe lain, dan kemudian keluar file batch akan melanjutkan pemrosesan setelah exe yang dipanggil berakhir, karena ia tidak memiliki pengetahuan tentang proses lain yang dimulai olehnya.
Dalam kasus Anda ini adalah masalah nyata karena installer biasanya mengekstrak file dari beberapa bentuk wadah terkompresi, yang mungkin tertanam dalam exe itu sendiri, kemudian jalankan salah satu file yang diekstraksi dan keluar. Beberapa installer menyediakan parameter baris perintah yang memberi tahu exe asli untuk tidak keluar sampai seluruh instalasi selesai, jadi itu sesuatu yang mungkin ingin Anda selidiki. Selain itu, tidak ada jalan nyata dengan file batch saja dan akan mengambil solusi terprogram untuk dipecahkan.
sumber
msiexec
seringkali juga memicu proses lainnya. :(start /wait
? Saya sendiri percaya itu perlu digunakanstart /wait
untuk memblokir file batch sampai GUI (sebagai lawan dari konsol) selesai. Tetapi mengujinya sekarang, saya melihat bahwa file batch benar-benar menunggu bahkan untuk aplikasi GUI. Saya telah memposting pertanyaan terkait: Mengapa aplikasi GUI memblokir file batch?Berikut ini adalah contoh menggunakan MATLAB! Saya berasumsi bahwa setup path untuk MATLAB telah selesai dan exit MATLAB sedang dipastikan oleh file FileName.m (atau pengguna telah menentukannya secara internal).
sumber
Saya punya masalah @John Gardeniers Seandainya atau dijelaskan, di mana exe saya memanggil exe lain dan diakhiri, karena itu mulai / menunggu tidak bekerja. Saya membuat "while loop" untuk memeriksa apakah itu berjalan dan kemudian melanjutkan setelah selesai. Waktu dapat diubah sesuai dengan kebutuhan Anda.
sumber
Anda dapat menggunakan perintah mulai / tunggu. Ini memulai aplikasi dan menunggu sampai selesai.
Atau jika Anda tahu berapa lama untuk mengeksekusi, Anda dapat melihat pada perintah sleep, yang disediakan oleh Windows Server 2003 Resource Kit Tools . Sleep.exe dapat digunakan untuk menjeda bets Anda selama beberapa detik untuk memungkinkan program untuk menginstal sepenuhnya sebelum file batch dilanjutkan untuk menginstal apa pun. Ada beberapa program yang mengabaikan sintaks "mulai / tunggu", karena program itu sendiri meluncurkan proses lain, maka sleep.exe sangat berguna.
sumber