[問題]再次發問如何截取cmd的文字,存至文字檔?

看板java作者 (台灣高階管理人)時間8年前 (2016/07/04 20:54), 編輯推噓2(2019)
留言21則, 9人參與, 最新討論串1/2 (看更多)
如標題所問, 小弟有個"別人"寫好的程式碼(如名稱為a.exe), 執行它(a.exe)的時候, 它會自動叫起另一個windows下的cmd(如名稱為b.cmd)來顯示執行過程及結果, 但因為cmd如果輸出太多的話, 前面的資訊就會被"吃"掉(或者說看不見), 所以想問說有沒有Java(或是其他方式)可以在這個cmd執行的時候, 可以把文字也轉存成txt呢? 或是有其他軟體做的到呢? 因為b.cmd它是自動被a.exe執行, 所以不論是pipe還是重導向的方式, 都失敗, 那還能怎麼做呢? 謝謝各位高手的賜教! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.170.12.5 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1467636846.A.A7A.html

07/04 22:28, , 1F
不能請原作者加上log檔的處理嗎?...
07/04 22:28, 1F

07/05 00:10, , 2F
感覺這個已經不是程式端的問題了 比較偏向OS端...
07/05 00:10, 2F

07/05 00:10, , 3F
或許自己打一個cmd進去取代掉 或是載入模擬器跑之類的
07/05 00:10, 3F

07/05 00:11, , 4F
有辦法把它的stdout跟stderr偷過來.....
07/05 00:11, 4F

07/05 00:13, , 5F
cmd 或許可以改預設的buffer size 留多一點資料 ....
07/05 00:13, 5F

07/05 00:15, , 6F
de-compile a.exe 看看裡面在做什麼
07/05 00:15, 6F

07/05 00:15, , 7F
然後有沒有機會塞中間人進去這樣....
07/05 00:15, 7F

07/05 00:51, , 8F
換個想法給他自己寫的cmd,然後自己的cmd再去call正確
07/05 00:51, 8F

07/05 00:51, , 9F
的cmd?
07/05 00:51, 9F

07/05 00:53, , 10F
你的cmd是指batch檔? 還是甚麼東西?
07/05 00:53, 10F

07/05 10:44, , 11F
b.cmd就只是單純的windows command line視窗
07/05 10:44, 11F

07/05 22:34, , 12F
行了行了我們知道那是CMD視窗 問題是裡面跑的是什麼?
07/05 22:34, 12F

07/05 22:35, , 13F
把b.cmd改成subb.cmd b.cmd裡寫 call subb.cmd >nul 2>&1
07/05 22:35, 13F

07/06 11:56, , 14F
把他的 cmd 偷換掉就好, 我看樓上也是這種做法
07/06 11:56, 14F

07/07 17:23, , 15F
你要不要考慮把那個exe檔案放出來讓大家看 ?
07/07 17:23, 15F

07/12 11:26, , 16F
可以直接把EXE檔和CMD檔放出來給大家看看 應該比你問快
07/12 11:26, 16F

07/15 16:32, , 17F
那個exe及cmd是公司自已寫的程式,應該是不能開放
07/15 16:32, 17F

07/15 16:33, , 18F
給大家的,謝謝大家的幫忙提醒!
07/15 16:33, 18F

07/15 16:34, , 19F
但是PttTime提供的方法看起來好像可行
07/15 16:34, 19F

08/02 23:55, , 20F
記得python的Subprocess函式庫可以把print在cmd的資料抓
08/02 23:55, 20F

08/02 23:55, , 21F
08/02 23:55, 21F
文章代碼(AID): #1NUbnkfw (java)
文章代碼(AID): #1NUbnkfw (java)