Skip to content

标题: PowerShell中Write-Host与Write-Output有哪些区别

创建: 2019-07-02 13:53 更新: 链接: https://scz.617.cn/windows/201907021353.txt

Write-Host与Write-Output主要区别有两点:

a) 如果想输出重定向,使用Write-Output b) 对于逗号分隔的待输出项,Write-Host输出到一行,Write-Output输出到多行


Function Test-Output-0 { Write-Host "Hello World" -ForegroundColor White -BackgroundColor Green }

Function Test-Output-1 { Write-Output "Hello World" }

Function Receive-Output { Process { Write-Host $_ -ForegroundColor Yellow -BackgroundColor Black } }

Test-Output-0 | Receive-Output

Test-Output-1 | Receive-Output

Test-Output-1

第一个输出绿底白字,输出转向没有生效

第二个输出黑底黄字,输出转向生效

第三个输出使用控制台缺省配色


Write-Host "One", "Two", "Three"

Write-Output "One", "Two", "Three"

第一个在一行内输出"One Two Three"

第二个在三行依次输出"One"、"Two"、"Three"


Write-Host "key=" + "value"

Write-Output "key=" + "value"

Write-Host( "key=" + "value" )

[Console]::WriteLine( "key=" + "value" )

第一个在一行内输出"key= + value"

第二个在三行依次输出"key="、"+"、"value"

第三个在一行内输出"key=value"。圆括号使得先处理字符串的+操作,然后做为一个 参数传递给Write-Host。

第四个在一行内输出"key=value"。