所以我对powershell redirection的理解是*>&1
应该将所有内容重定向到输出流。
在应用了Entity Framework迁移的任何项目上,从visual studio包管理器终端尝试以下操作。
$m = (Get-Migrations *>&1)
运行后,所有迁移都会打印到窗口,但$m
仍为$null
。
是什么给出的?我做重定向错了吗?
编辑:似乎我可能不是,这应该有效。 Here is the code for Get-Migrations
答案 0 :(得分:2)
[console]::WriteLine
正在使用的Get-Migrations
与Write-Host
基本相同,因此它只打印输出,不会像{{1}那样通过管道发送任何内容确实。
我找到了一个名为Lincoln Atkinson的开发人员,他在http://latkin.org/blog/2012/04/25/how-to-capture-or-redirect-write-host-output-in-powershell/
上实施了一个使用Write-Output
代理的解决方案
我已经测试了他的功能,似乎需要一些工作,当我通过Write-Host
标志时它才对我有用。它也仅适用于-Quiet
,因此将其更新为与Write-Host
一起使用将是您从此获得回家的任务....
同样看起来虽然WriteLine
可能有帮助(同时还有慷慨的输出解析),如果它基于Start-Transcript
,但由于某种原因似乎无法捕获Write-Host
。 / p>