当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] Write-Host (Microsoft.PowerShell.Utility)

作者:精品下载站 日期:2024-12-14 02:02:24 浏览:15 分类:玩电脑

Write-Host (Microsoft.PowerShell.Utility)


Write-Host

模块 :Microsoft.PowerShell.Utility

将自定义输出写入主机。

句法

Write-Host
     [[-Object] <Object>]
     [-NoNewline]
     [-Separator <Object>]
     [-ForegroundColor <ConsoleColor>]
     [-BackgroundColor <ConsoleColor>]
     [<CommonParameters>]

描述

Write-Host cmdlet 的主要用途是生成仅用于(主机)显示的输出,例如在与 Read-Host 结合提示用户输入时打印彩色文本。 Write-Host 使用 ToString() 方法写入输出。相反,要将数据输出到管道,请使用 Write-Output 或隐式输出。

您可以使用 ForegroundColor 参数指定文本颜色,也可以使用 BackgroundColor 参数指定背景颜色。 Separator 参数允许您指定用于分隔显示对象的字符串。具体结果取决于托管 PowerShell 的程序。

笔记

从 Windows PowerShell 5.0 开始,Write-HostWrite-Information 的包装器,这允许您使用 Write-Host 将输出发送到信息流。这样可以捕获抑制使用Write-Host写入的数据,同时保持向后兼容性。

$InformationPreference 首选项变量和 InformationAction 公共参数不会影响 Write-Host 消息。此规则的例外是 -InformationAction Ignore,它有效地抑制 Write-Host 输出。 (参见“实施例5”)

示例

示例 1:写入控制台而不添加新行

Write-Host "no newline test " -NoNewline
Write-Host "second string"

no newline test second string

此命令使用 NoNewline 参数显示字符串“no newline test”。

写入第二个字符串,但由于没有分隔字符串的换行符,它最终与第一个字符串位于同一行。

示例 2:写入控制台并包含分隔符

Write-Host (2,4,6,8,10,12) -Separator ", +2= "

2, +2= 4, +2= 6, +2= 8, +2= 10, +2= 12

此命令显示从 2 到 12 的偶数。 Separator参数用于添加字符串,+2=(逗号,空格,+2=,空格)。

示例 3:使用不同的文字和背景颜色书写

Write-Host (2,4,6,8,10,12) -Separator ", -> " -ForegroundColor DarkGreen -BackgroundColor White

2, -> 4, -> 6, -> 8, -> 10, -> 12

此命令显示从 2 到 12 的偶数。它使用 ForegroundColor 参数输出深绿色文本,并使用 BackgroundColor 参数显示白色背景。

示例 4:使用不同的文字和背景颜色书写

Write-Host "Red on white text." -ForegroundColor red -BackgroundColor white

Red on white text.

此命令显示字符串“白底红字”。文本为红色,由 ForegroundColor 参数定义。背景为白色,由 BackgroundColor 参数定义。

示例 5:抑制 Write-Host 的输出

# The following two statements can be used to effectively suppress output from Write-Host
Write-Host "I won't print" -InformationAction Ignore
Write-Host "I won't print" 6> $null

这些命令有效地抑制 Write-Host cmdlet 的输出。第一个使用带有 Ignore 值的 InformationAction 参数来抑制向信息流的输出。第二个示例将命令的信息流重定向到 $null 变量,从而抑制它。有关详细信息,请参阅 about_Output_Streams。

参数

-BackgroundColor

指定背景颜色。没有默认值。该参数可接受的值为:

    Black
    DarkBlue
    DarkGreen
    DarkCyan
    DarkRed
    DarkMagenta
    DarkYellow
    Gray
    DarkGray
    Blue
    Green
    Cyan
    Red
    Magenta
    Yellow
    White
    类型 :

    ConsoleColor

    接受的值:

    黑色、深蓝色、深绿色、深青色、深红色、深洋红色、深黄色、灰色、深灰色、蓝色、绿色、青色、红色、洋红色、黄色、白色

    位置:

    命名

    默认值:

    None

    必需的:

    False

    接受管道输入:

    False

    接受通配符:

    False

    -ForegroundColor

    指定文本颜色。没有默认值。该参数可接受的值为:

      Black
      DarkBlue
      DarkGreen
      DarkCyan
      DarkRed
      DarkMagenta
      DarkYellow
      Gray
      DarkGray
      Blue
      Green
      Cyan
      Red
      Magenta
      Yellow
      White
      类型 :

      ConsoleColor

      接受的值:

      黑色、深蓝色、深绿色、深青色、深红色、深洋红色、深黄色、灰色、深灰色、蓝色、绿色、青色、红色、洋红色、黄色、白色

      位置:

      命名

      默认值:

      None

      必需的:

      False

      接受管道输入:

      False

      接受通配符:

      False

      -NoNewline

      输入对象的字符串表示形式被连接以形成输出。输出字符串之间不插入空格或换行符。最后一个输出字符串后不添加换行符。

      类型 :

      SwitchParameter

      位置:

      命名

      默认值:

      None

      必需的:

      False

      接受管道输入:

      False

      接受通配符:

      False

      -Object

      要在主机中显示的对象。

      类型 :

      目的

      别名:

      Msg, Message

      位置:

      0

      默认值:

      None

      必需的:

      False

      接受管道输入:

      True

      接受通配符:

      False

      -Separator

      指定要在主机显示的对象之间插入的分隔符字符串。

      类型 :

      目的

      位置:

      命名

      默认值:

      None

      必需的:

      False

      接受管道输入:

      False

      接受通配符:

      False

      输入

      对象

      您可以通过管道将要写入主机的对象传递给此 cmdlet。

      输出

      此 cmdlet 不返回任何输出。它将对象发送到主机。主机显示此 cmdlet 发送给它的对象。

      笔记

      • 将集合写入主机时,集合的元素将打印在同一行上,并用一个空格分隔。这可以用 Separator 参数覆盖。

      • 非原始数据类型(例如具有属性的对象)可能会导致意外结果并且无法提供有意义的输出。例如,Write-Host @{a=1; b=2} 将把 System.Collections.DictionaryEntry System.Collections.DictionaryEntry 打印到主机。

      您需要 登录账户 后才能发表评论

      取消回复欢迎 发表评论:

      关灯