亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在退出之前等待所有批處理文件完成?

如何在退出之前等待所有批處理文件完成?

至尊寶的傳說 2019-08-14 15:29:43
如何在退出之前等待所有批處理文件完成?我有一個主批處理文件,而不是調用其他4個批處理文件,所以我們可以并行運行。例:Main.bat    start call batch1.bat     start call batch2.bat     start call batch3.bat     start call batch4.bat     exit我希望Main.bat在所有batch1到batch 4停止執行后退出。通過這種方式,我可以獲得批處理文件的總運行時間。問題是Main.bat甚至在batch1到batch4完成執行之前退出。我嘗試為每個批處理文件計算%errorlevel%,但即使4 .bat文件仍在運行,它總是返回0。希望有人可以幫助我!
查看完整描述

3 回答

?
瀟湘沐

TA貢獻1816條經驗 獲得超6個贊

我認為這是最簡單,最有效的方式:

@echo offecho %time%(
    start call batch1.bat
    start call batch2.bat
    start call batch3.bat
    start call batch4.bat) | set /P "="echo %time%

在此方法中,主文件中的等待狀態是事件驅動的,因此它不消耗任何CPU時間!

編輯添加了一些解釋

set /P命令將終止命令當有人在( block )一個線路輸出,但start命令不顯示任何線在此的cmd.exe。這樣,set /Pstart命令啟動的所有進程結束之前,一直等待輸入。此時,與之關聯的管道( block )關閉,因此set /PStdin關閉,set /P操作系統終止命令。


查看完整回答
反對 回復 2019-08-14
?
繁星點點滴滴

TA貢獻1803條經驗 獲得超3個贊

試一試。

@echo offecho %time%start "" /wait cmd /c bat1.bat |start "" /wait cmd /c bat2.bat |start "" /wait cmd /c bat3.batecho %time%pause


查看完整回答
反對 回復 2019-08-14
  • 3 回答
  • 0 關注
  • 1140 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號