1. Write-Host:写标准输出流到承载PowerShell的应用程序。通过参数可以为文本设置背景色,前景色,是否换行以及设置对象间的分隔字符串等(见下面的规则)。承载PowerShell的应用程序可以是PowerShell控制台(powershell.exe),PowerShell ISE(powershell_ise.exe)或其他应用程序。
规则:
Write-Host [[-Object] <Object>] [-BackgroundColor <color>] [-ForegroundColor <color>] [-NoNewline] [-Separator <Object>] [<CommonParameters>]
举例:
write-host (1,2,3) -Separator "+" -backgroundcolor black -foregroundcolor white
注意:只有知道哪个宿主应用被使用并且这个应用如何处理Write-Host输出,才会使用Write-Host.
Write-Output:发送指定对象经管道到下一个命令,如果这个命令是最后一个命令,则输出对象到控制台。
规则:
Write-Output [-InputObject] <PSObject[]> [<CommonParameters>]
2. Write-Debug:从脚本或命令将调试信息写到控制台。
规则:
Write-Debug [-Message] <string> [<CommonParameters>]
默认情况下,调试信息不显示在控制台中,也不引起执行的中止。
例如:
write-debug "cannot open file."
但可以使用-Debug参数(所有cmdlet的常用参数)或者$DebugPreference变量显示调试消息。-Debug参数覆盖当前命令的$DebugPreference变量值。
举例:
PS C:\Windows\system32> $DebugPreference="Continue"
PS C:\Windows\system32> $DebugPreference
Continue
PS C:\Windows\system32> write-debug "cannot open file." -debug
DEBUG: cannot open file.
Confirm
Continue with this operation?
[Y] Yes [A] Yes to All [H] Halt Command [S] Suspend [?] Help (default is "Y"): Y
3. Write-Error:从脚本或命令将错误信息写到控制台。默认情况下,错误信息不显示在控制台中,也不引起执行的中止。但使用-ErrorAction参数(所有cmdlet的常用参数)或者$ErrorActionPreference变量可以修改它的行为。-ErrorAction参数覆盖当前命令的$ErrorActionPreference变量值。
Write-Warning:从脚本或命令将警告信息写到控制台。默认情况下,警告信息不显示在控制台中,也不引起执行的中止。但使用-WarningAction参数(所有cmdlet的常用参数)或者$WarningPreference变量可以修改它的行为。-WarningAction参数覆盖当前命令的$WarningPreference变量值。
4. Write-Verbose:从脚本或命令将详细信息写到控制台。默认情况下,详细信息不显示在控制台中,也不引起执行的中止。但使用-Verbose参数(所有cmdlet的常用参数)或者$VerbosePreference变量可以显示详细信息。-Verbose参数覆盖当前命令的$VerbosePreference变量值。
Note:
Write-Debug, Write-Error, Write-Warning和Write-Verbose,它们中的每一个命令可以被常用参数(-Debug,-ErroAction,-WarningAction,-Verbose)或偏好变量所管理。在每个实例中,相关参数接受$true或$false值,偏好变量接受下列值:
Stop:用来显示相关信息并中止执行。
Inquire:用来显示相关信息并询问是否继续执行。
Continue:用来显示相关信息并且继续执行。
SilentlyContinue:用来不显示相关信息并且继续执行。
举例:
指定-Debug:$true或-Debug开启调试功能。
write-debug "cannot open file." -debug:$true
指定-Debug:$false不显示调试信息。
write-debug "cannot open file." -debug:$false