2021/07/30

[note] 用batch關閉start跑出來的batch檔

工作越久,越發現現在自己身處的行業不好搞。
以前部門找的都是台清交成的碩班高材生,
現在有還願意學習的大學生進來就不錯了。
身為初階主管也只能盡量cover下屬的能力不足...唉。

最近為了搞定新客戶超複雜的測試,
在研究如何用command line自動執行測試,
不然真的會測試測到死。
其中一個問題是客戶的測試是用start去跑batch檔。

##ReadMore##
客戶的測試程式是執行批次檔,
然後批次檔start一堆程式和批次檔加載,
其他的程式用taskkill /f /im還可以解
但start出來的批次檔,
我如果同樣用批次檔去關,
會變成我負責執行自動跑的batch也被關掉。
搜尋一下後找到一個方式:用taskkill加上filter搜尋視窗標題去關。

語法是taskkill /f /FI "WINDOWTITLE eq xxxx*"
原本以為可以用萬用字元只搜尋特定視窗標題部分包含batch檔檔名,
但她萬用字元似乎無法匹配前端只能匹配後端,
也就是星號只能放最後,所以比須把前端的執行檔位置也附上。
最後會變成這樣
taskkill /f /FI "WINDOWTITLE eq C:\Windows\system32\cmd.exe - xxxx*"

參考

http://paladinprogram.blogspot.com/2019/04/bat.html
https://stackoverflow.com/questions/10948235/taskkill-window-spaces-in-its-title-name
http://www.bathome.net/thread-39107-1-1.html

沒有留言: