我有一个Windows程序,我在.BAT文件中调用,如下所示:
.\my_prog.exe param1
如果我这样称呼它,从cmd或powershell窗口我得到一些输出。但是,如果我将输出重定向到某个文件,它将无法正常工作。如果我写:
.\my_prog.exe param1 >out.txt 2>&1
out.txt
在执行我的脚本结束后为空。
my_prog.exe
是一个专有二进制文件,我无法访问该代码。
值得一提的是,我有一个相同脚本的linux版本,可以调用为linux编译的二进制文件。我有同样的问题,但我设法通过使用脚本命令解决它:
script -c "./my_prog.lx param1"
我找不到相同的"脚本"不幸的是,cygwin不是一个选择。
感谢您的帮助
编辑:
在深入挖掘之后,我发现当输出写入STDOUT以外的其他源时,我的程序不会刷新缓冲区。现在,我最好的目的是欺骗我的程序认为它正在写STDOUT,有没有办法在BAT或wowh powershell中做到这一点?
由于