【发布时间】:2012-02-04 01:04:03
【问题描述】:
有多种不同的方式来输出消息。通过Write-Host、Write-Output 或[console]::WriteLine 输出内容之间的有效区别是什么?
我还注意到,如果我使用:
write-host "count=" + $count
+ 包含在输出中。为什么?在写出之前,不应该评估表达式以生成单个连接字符串吗?
【问题讨论】:
-
Write-Output当您发出结果时。Write-Host当您发出日志信息时。永远不要使用[console]::writeline()。 -
@JohnL 为什么我们不应该使用 [console]::writeline() ?
-
@Backwards_Dave 因为你有 Write-Host.... 好吧,我可能有一些印象,它显示了一个新的控制台窗口(这是很久以前的事了)。这不会发生,但事实仍然是它不是 powershell 惯用语,
[console]::writeline("hello world")不能做任何事情,Write-Host "hello world"不能做任何事情。另一个更好的、最近适用的答案是write-host包装write-information,因此它的数据被放在像write-error这样的流上,这样你就可以捕获它并在其他地方使用它。[console]::writeline()不会这样做
标签: powershell