看板 java 關於我們 聯絡資訊
如標題所問, 小弟有個"別人"寫好的程式碼(如名稱為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
pico2k: 不能請原作者加上log檔的處理嗎?... 07/04 22:28
iFEELing: 感覺這個已經不是程式端的問題了 比較偏向OS端... 07/05 00:10
iFEELing: 或許自己打一個cmd進去取代掉 或是載入模擬器跑之類的 07/05 00:10
iFEELing: 有辦法把它的stdout跟stderr偷過來..... 07/05 00:11
iFEELing: cmd 或許可以改預設的buffer size 留多一點資料 .... 07/05 00:13
iFEELing: de-compile a.exe 看看裡面在做什麼 07/05 00:15
iFEELing: 然後有沒有機會塞中間人進去這樣.... 07/05 00:15
mars90226: 換個想法給他自己寫的cmd,然後自己的cmd再去call正確 07/05 00:51
mars90226: 的cmd? 07/05 00:51
mars90226: 你的cmd是指batch檔? 還是甚麼東西? 07/05 00:53
weakstudy: b.cmd就只是單純的windows command line視窗 07/05 10:44
iFEELing: 行了行了我們知道那是CMD視窗 問題是裡面跑的是什麼? 07/05 22:34
PttTime: 把b.cmd改成subb.cmd b.cmd裡寫 call subb.cmd >nul 2>&1 07/05 22:35
realmeat: 把他的 cmd 偷換掉就好, 我看樓上也是這種做法 07/06 11:56
obelisk0114: 你要不要考慮把那個exe檔案放出來讓大家看 ? 07/07 17:23
gameking: 可以直接把EXE檔和CMD檔放出來給大家看看 應該比你問快 07/12 11:26
weakstudy: 那個exe及cmd是公司自已寫的程式,應該是不能開放 07/15 16:32
weakstudy: 給大家的,謝謝大家的幫忙提醒! 07/15 16:33
weakstudy: 但是PttTime提供的方法看起來好像可行 07/15 16:34
feveral: 記得python的Subprocess函式庫可以把print在cmd的資料抓 08/02 23:55
feveral: 出 08/02 23:55