Python: 捕獲正在運行的CMD窗口內容
最近需要捕獲已經在運行的CMD窗口內容,並且需要根據指定輸出內容來判斷下一步的行動(輸入指定內容)。
嘗試了很多次後,想到一個思路:
通過inspect.exe來獲取CMD窗口Name信息
通過uiautomation捕獲到CMD窗口
通過輸入Ctrl+A後Ctril+C來複制整個CMD窗口內容
然後獲取到剪切板中複製的內容後進行判斷
基本代碼如下:
from uiautomation import DocumentControl import clipboard # 獲取CMD窗口 window = DocumentControl(searchDepth=3, Name='Text Area') # 測試在CMD裏面刪除某個文件 window.SendKeys('del /p test.txt') window.SendKeys('{Enter}') # Ctrl A / C 全選複製 window.SendKeys('{Ctrl}A') window.SendKeys('{Ctrl}C') # 獲取剪切板裏面的複製內容 result = clipboard.paste() print(result) # 判斷複製內容是否是以特定內容結尾或者特定字符 if result.endswith('Delete (Y/N)?'): # 輸入內容 window.SendKeys('n') window.SendKeys('{Enter}') window.Close() # 執行完成 print('finished') else: print('No such value,not complete')