如何从PowerShell运行的控制台可执行文件中捕获二进制stdout?

3

有没有可能让Powershell将exe的stdout读取到byte[]中,而不是通常处理为行数组的文本形式?

我能做到的最好方式是:

cmd /c foo.exe > foo.tmp
$b = [io.file]::readallbytes('foo.tmp')
del foo.tmp

很糟糕,而且它不能流式传输。有更好的方法吗?

1个回答

5

感谢您的跟进。我希望它不需要我在C#中所做的相同麻烦事,但是在poshcode上已经有可用的代码,这很好。另外:你刚刚让Lee Holmes卖了一本书。我要买那本书的第二版。 :) - scobi
这篇帖子中的两个链接现在都失效了 :( - Mark Henderson
这是《PowerShell Cookbook》书的更新链接 - https://www.oreilly.com/library/view/powershell-cookbook-4th/9781098101596/ - Keith Hill

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接