我想執行下列操作。運行DOS命令一段時間
- 從包含許多單詞的輸入文件一次讀取1個單詞。
- 將此字作爲參數傳遞給另一個基於命令行的應用程序。
- 運行該應用程序一段固定的時間,比如10秒。
- 中止該應用程序的執行如果10秒後仍在運行並返回,從輸入文件選擇下一個單詞,重複步驟1至3
這裏是我寫的雖然它並沒有達到我想要的效果:
@echo off
for /f %%i in ('type input.txt') do call:Routine %%i
:Routine
set app="myApp.exe"
set limit=60
%app% %1
goto Delay
:Delay
ping localhost -n %limit% > nul
上面的腳本將介紹myApp執行完成後的延遲。但是,我希望它運行myApp.exe的時間不超過10秒(如果有),然後使用taskkill中止應用程序並轉到輸入文件中的下一個單詞。
我尋找一個解決方案在線過這個傳來:
http://www.tech-archive.net/Archive/WinXP/microsoft.public.windowsxp.general/2006-04/msg03609.html
雖然它並沒有回答我的詢問究竟,我想提出我的代碼做同樣的事情。
謝謝。
在我而言這是行不通的。 ping延遲和taskkill僅在應用程序執行完成後才執行。只要應用程序仍在運行,Ping延遲就不會開始執行。 –
@NeonFlash - 哎呀,當然不起作用。我忘了START命令。我在我的答案中編輯了代碼。 – dbenham