[问题]再次发问如何截取cmd的文字,存至文字档?

楼主: weakstudy (台湾高阶管理人)   2016-07-04 20:54:04
如标题所问,
小弟有个"别人"写好的程式码(如名称为a.exe),
执行它(a.exe)的时候,
它会自动叫起另一个windows下的cmd(如名称为b.cmd)来显示执行过程及结果,
但因为cmd如果输出太多的话,
前面的资讯就会被"吃"掉(或者说看不见),
所以想问说有没有Java(或是其他方式)可以在这个cmd执行的时候,
可以把文字也转存成txt呢?
或是有其他软件做的到呢?
因为b.cmd它是自动被a.exe执行,
所以不论是pipe还是重导向的方式,
都失败,
那还能怎么做呢?
谢谢各位高手的赐教!
作者: mars90226 (火星人)   2016-07-05 00:51:00
换个想法给他自己写的cmd,然后自己的cmd再去call正确的cmd?你的cmd是指batch档? 还是什么东西?
作者: iFEELing (ing)   2016-07-05 00:10:00
感觉这个已经不是程式端的问题了 比较偏向OS端...或许自己打一个cmd进去取代掉 或是加载模拟器跑之类的有办法把它的stdout跟stderr偷过来.....cmd 或许可以改默认的buffer size 留多一点资料 ....de-compile a.exe 看看里面在做什么然后有没有机会塞中间人进去这样....
作者: pico2k (风月)   2016-07-04 22:28:00
不能请原作者加上log档的处理吗?...
楼主: weakstudy (台湾高阶管理人)   2016-07-05 10:44:00
b.cmd就只是单纯的windows command line视窗
作者: iFEELing (ing)   2016-07-05 22:34:00
行了行了我们知道那是CMD视窗 问题是里面跑的是什么?
作者: PttTime   2016-07-05 22:35:00
把b.cmd改成subb.cmd b.cmd里写 call subb.cmd >nul 2>&1
作者: realmeat (真肉)   2016-07-06 11:56:00
把他的 cmd 偷换掉就好, 我看楼上也是这种做法
作者: obelisk0114 (追风筝的孩子)   2016-07-07 17:23:00
你要不要考虑把那个exe档案放出来让大家看 ?
作者: gameking (GK草祭)   2016-07-12 11:26:00
可以直接把EXE档和CMD档放出来给大家看看 应该比你问快
楼主: weakstudy (台湾高阶管理人)   2016-07-15 16:32:00
那个exe及cmd是公司自已写的程式,应该是不能开放给大家的,谢谢大家的帮忙提醒!但是PttTime提供的方法看起来好像可行
作者: feveral (小汉堡)   2016-08-02 23:55:00
记得python的Subprocess函式库可以把print在cmd的资料抓出

Links booklink

Contact Us: admin [ a t ] ucptt.com