看板 Windows 關於我們 聯絡資訊
不知道這問題是否適合在這邊發問?? 因為開發需要,從合作方那邊拿到了一個.exe 這個執行檔打開後會呈現像cmd的介面, 而我需要依照需求去輸入參數 或是等待回應 例如: step1 輸入1 step2 等到回應stringA後再輸入2 這樣子一直持續下去的交互輸入與等待 如果今天要使用的參數不多,自動化與否沒什麼問題 而今天問題在於一堆參數要下,我自己也覺得不自動化去跑會遇到很多操作上的問題與不方便 目前我試過一些方法,結果沒有太好, 所以想要請問一下有沒有辦法能夠克服呢? 直接用bat: 但是似乎exe打開後就無法吃到bat裡頭的指令 寫一個python tool,模擬鍵盤輸入: 這個方法可以動,但是我依舊無法得到字串的回應 同時我得保證這個執行檔的視窗是正在使用的那個 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.171.16.136 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Windows/M.1684424419.A.EE6.html ※ 編輯: CCT63 (1.171.16.136 臺灣), 05/18/2023 23:42:02
Ahhhhaaaa: 你的bat每個指令有換行嗎05/18 23:42
CCT63: 有呦05/18 23:46
我有嘗試過先start *.exe後去echo,結果無效 後來改用call也是無效 不知道有沒有建議或幫忙指錯下呢? 謝謝 ※ 編輯: CCT63 (1.171.16.136 臺灣), 05/18/2023 23:48:15
smallreader: autohotkey?05/19 02:10
tomsawyer: python pexpect05/19 04:19
如果使用pexpect,是不是也需要把我說的那個視窗放在最上層? ※ 編輯: CCT63 (49.216.163.212 臺灣), 05/19/2023 09:40:46
streit: tintin 05/19 12:02
maniaque: 假如你下一指令是依據前一個回應內容而定,那就別想了 05/19 14:05
maniaque: 因為response 是 push show到你程式的 windows 裡面 05/19 14:06
maniaque: 若要用類似鍵盤精靈之類的,你也大概得排好組合指令時間 05/19 14:06
maniaque: 抓回應大概會幾秒出來,大概幾秒後輸入下一個指令這樣 05/19 14:07
LPH66: pexpect 呼叫 expect() 就會等到目標程式輸出給定字串 05/19 22:32
LPH66: 也就是它是會把目標程式的輸出接下來, 你再指定條件 05/19 22:32
LPH66: 因此就不是另開一個視窗開目標程式, 而是交給 pexpect 開 05/19 22:33
LPH66: 自然沒有「要不要放在最上層」的問題 05/19 22:33
CCT63: 剛剛在自己電腦模擬,用wexpect 好像能解決我的問題了,我 05/21 22:49
CCT63: 再實驗看看 感謝各位高手 05/21 22:49