在我的场景中,我有一个接收标准输入的powershell脚本。我想做的是使用任意命令行启动子进程,并将标准输入从powershell脚本重定向到子进程。换句话说,我只是想将标准输入传递给子进程。
对于如何使用循环来实现这一点,我有一些想法,但是还有更优雅的方法吗?
发布于 2016-07-27 15:01:02
不是一个完整的答案,但在某些情况下,您可能会遇到一些问题,因为PowerShell.exe在开始执行脚本之前等待所有的输入。我遇到了一个问题,调用PowerShell的进程没有关闭它的流,所以PowerShell一直在等待。
解决方案是使用一个无文档的选项(powershell.exe -InputFormat None),然后逐字节手动读取输入;所有每次读取超过一个字节的方法都很容易永远被阻塞,至少据我所知。
您可能可以使用异步方法来解决这个问题。
https://stackoverflow.com/questions/38578838
复制相似问题