PowerShell中`>`(重定向)和Out-File有什么区别

M-P*_*xel 3 powershell

我已经找到了比较>反对Set-Content,而Set-Content反对Out-File,但我还没有找到如何任何说明>,并Out-File在PowerShell中有所不同。

“关于重定向”文件目前指出,

通常,当您需要使用其参数时,您会使用 Out-File cmdlet...

...这让我相信它们是相同的,这>是首选,因为它简洁,但| Out-File在某些情况下这是必要的,因为>它不带参数。

这是正确的解释,还是这两种重定向方法的运行时行为存在差异?例如,>由于| Out-File管道和命令行开关抽象的额外开销,效率更高吗?是否>有向后兼容性,为了与DOS或Unix中的默认设置任何区别>

Mat*_*sen 5

这是正确的解释吗

是的,准点!

当您使用 时... > $path,PowerShell 确实... | Out-File -Filepath $path在后台执行。

使用 时... >> $path,PowerShell 只会添加-Append开关。

从当前(7.0 版)实现的源代码中可以明显看出这一点,并且至少回到 3.0 版(我认为是 1 和 2)