bat批處理循環調用程序並退出


今天測試程序時,有一個場景需要做到:啟動exe程序,等待一段時間(10s)后停止該程序;再重新啟動、停止,一直循環。

 

最后用批處理實現了,代碼如下:

1 :a
2 start /B BlogCrawlerForIntegration.exe tvprogram_EN
3 ping 123.45.67.89 -n 1 -w 10000
4 taskkill /f /im BlogCrawlerForIntegration.exe
5 goto :a

 

代碼總共5行,還是比較巧妙的。略作解釋:

(1)由於bat中for循環是用起來比較麻煩,就使用goto簡單的實現了無限循環;

(2)start /B BlogCrawlerForIntegration.exe tvprogram_EN

使用start命令單獨啟動BlogCrawlerForIntegration程序,否則批處理會掛住,一直等到BlogCrawlerForIntegration運行結束后才會往下運行;

/B 參數不讓BlogCrawlerForIntegration彈出新窗口

(3)ping 123.45.67.89 -n 1 -w 10000

由於bat中沒有類似sleep/wait之類的等待函數,就ping一個不存在的ip地址,超時10000毫秒,來實現sleep的效果

如果不想看到ping的輸出信息,可以使用ping 123.45.67.89 -n 1 -w 10000 > null

(4)taskkill /f /im BlogCrawlerForIntegration.exe 殺掉進程,停止程序。

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM