2016-07-06 46 views
0

假設有一些需要在.cmd批處理腳本中運行的.bat文件。這個內部.bat文件在本地主機上有一系列用戶交互,並且只能使用ctrl + c結束。如何僅終止內部批處理作業

問題是:是否有某種方法可以在內部腳本終止後恢復外部批處理腳本?或者是ctrl + c的結局都是?

我試過給內部腳本一個不同的出路,只是被告知我不允許更改該文件。我也做了相當數量的研究並沒有找到解決方案。原諒我,如果我忽略了一些東西!我想避免出現兩個窗口或無關的終止消息。

+0

所以你使用'調用inner.bat'來運行內部腳本?也許'cmd/C inner.bat'或'start「」/ WAIT inner.bat'可以幫助... – aschipfl

+0

@aschipfl謝謝,這很有幫助,cmd/C工作,但現在我得到兩個終止請求。想只是終止內部的一個,並讓外部的一個順利地繼續 –

+0

@aschipfl與在新窗口中開始的問題相同。不過謝謝,絕對接近。 –

回答

1

我能想到的來處理這個問題的唯一方法是使用下面的行outer.cmd調用inner.bat - 與接受新的命令提示符窗口中inner.bat執行的缺點:

start "" /WAIT cmd /C "inner.bat" 

(交換startcmd不作爲窗口的工作可能會在無意中保持打開狀態。)

注意,對於inner.bat,所有控制檯輸入和輸出是通過新的窗口辦理,因此任何重定向爲outer.cmd(e。例如,outer.cmd > "return.txt")將不包括來自inner.bat的數據。