2015-10-29 15 views
0

我有這樣的批處理文件的從批處理腳本得到迴音時,後臺任務結束

start /b ruby script.rb && echo done 
... 

然而,寫「完成」後,我立刻運行該批處理文件,這是不正確,因爲劇本花了約5分鐘。

那麼,如何在bg任務成功結束後才能完成回顯?

謝謝!

注:我認爲& &如果它不用於批處理文件或用於運行bg任務,則以這種方式工作。

+0

爲什麼不檢查腳本是否仍在運行。並在檢查後確認回聲。 –

+0

我知道我的腳本沒有運行了,我也有,並且從腳本回顯它已經結束,但是批處理文件的回顯不能正常工作。另外,有許多函數在結束時不會返回「我結束了」回聲,所以我必須以另一種方式檢查它。 –

回答

0
start "" /b cmd /c "ruby script.rb && echo done" 

如果沒有條件執行命令被視爲start命令代替ruby命令的延續的延續引號。

由於&&是由cmd處理的運營商,我們需要啓動一個新的實例。

""在開始時是需要的,因爲start的第一個引用參數是作爲窗口標題處理的。

備註:&&是一個條件執行操作符。如果前面的命令沒有產生錯誤,那麼執行下面的命令。在這種情況下,進程在後臺運行,可能是,&,應使用命令級聯運算符來知道腳本已結束。

相關問題