Write-Host

호스트에 사용자 지정된 출력을 씁니다.

Syntax

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

Description

Write-Host cmdlet의 주요 목적은 사용자에게 읽기 호스트와 함께 입력하라는 메시지를 표시할 때와 같이 색이 지정된 텍스트를 인쇄하는 것과 같은 for-(host) 디스플레이 전용 출력을 생성하는 것입니다. Write-HostToString() 메서드를 사용하여 출력을 작성합니다. 반면, 파이프라인에 데이터를 출력하려면 쓰기 출력 또는 암시적 출력을 사용합니다.

매개 변수를 사용하여 텍스트 색을 ForegroundColor 지정할 수 있으며 매개 변수를 사용하여 배경색을 BackgroundColor 지정할 수 있습니다. Separator 매개 변수를 사용하면 표시된 개체를 구분하는 데 사용할 문자열을 지정할 수 있습니다. 특정 결과는 PowerShell을 호스팅하는 프로그램에 따라 달라집니다.

참고 항목

Windows PowerShell 5.0 Write-Host 부터는 정보 스트림에 Write-Information 출력을 내보내는 데 사용할 Write-Host 수 있는 래퍼입니다. 이렇게 하면 이전 버전과의 호환성을 유지하면서 작성된 Write-Host 데이터를 캡처하거나 표시하지 않을 수 있습니다.

기본 설정 변수 및 InformationAction 공통 매개 변수는 $InformationPreference 메시지에 영향을 Write-Host 미치지 않습니다. 이 규칙의 예외는 -InformationAction Ignore출력을 Write-Host 효과적으로 표시하지 않는 것입니다. ("예제 5" 참조)

예제

예제 1: 새 줄을 추가하지 않고 콘솔에 쓰기

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

no newline test second string

이 명령은 매개 변수를 사용하여 문자열 '줄 바꿈 테스트 없음'을 표시합니다 NoNewline .

두 번째 문자열은 작성되지만 문자열을 구분하는 줄 바꿈이 없으므로 첫 번째 문자열과 동일한 줄로 끝납니다.

예제 2: 콘솔에 쓰기 및 구분 기호 포함

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

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

이 명령은 2에서 12까지의 짝수 숫자를 표시합니다. 구분 기호 매개 변수는 문자열 , +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

이러한 명령은 cmdlet의 출력을 Write-Host 효과적으로 표시하지 않습니다. 첫 번째 매개 변수는 InformationAction 값과 Ignore 함께 사용하여 정보 스트림에 대한 출력을 표시하지 않습니다. 두 번째 예제에서는 명령의 정보 스트림을 변수로 $null 리디렉션하여 이를 표시하지 않습니다. 자세한 내용은 about_Output_스트림 참조하세요.

매개 변수

-BackgroundColor

배경색을 지정합니다. 기본값은 없습니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.

  • Black
  • DarkBlue
  • DarkGreen
  • DarkCyan
  • DarkRed
  • DarkMagenta
  • DarkYellow
  • Gray
  • DarkGray
  • Blue
  • Green
  • Cyan
  • Red
  • Magenta
  • Yellow
  • White
Type:ConsoleColor
Accepted values:Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ForegroundColor

텍스트 색을 지정합니다. 기본값은 없습니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.

  • Black
  • DarkBlue
  • DarkGreen
  • DarkCyan
  • DarkRed
  • DarkMagenta
  • DarkYellow
  • Gray
  • DarkGray
  • Blue
  • Green
  • Cyan
  • Red
  • Magenta
  • Yellow
  • White
Type:ConsoleColor
Accepted values:Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-NoNewline

입력 개체의 문자열 표현은 출력을 형성하기 위해 연결됩니다. 출력 문자열 사이에 공백이나 줄 바꿈이 삽입되지 않습니다. 마지막 출력 문자열 이후에 줄 바꿈이 추가되지 않습니다.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Object

호스트에 표시할 개체입니다.

Type:Object
Aliases:Msg, Message
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Separator

호스트에서 표시하는 개체 사이에 삽입할 구분 기호 문자열을 지정합니다.

Type:Object
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

입력

Object

호스트에 쓸 개체를 이 cmdlet에 파이프할 수 있습니다.

출력

None

이 cmdlet은 출력을 반환하지 않습니다. 호스트에 개체를 보냅니다. 호스트는 이 cmdlet이 전송하는 개체를 표시합니다.

참고

  • 호스트에 컬렉션을 쓸 때 컬렉션의 요소는 단일 공백으로 구분된 동일한 줄에 인쇄됩니다. 구분 기호 매개 변수를 사용하여 재정의할 수 있습니다.

  • 속성이 있는 개체와 같은 기본이 아닌 데이터 형식은 예기치 않은 결과를 발생시키고 의미 있는 출력을 제공하지 않을 수 있습니다. 예를 들어 Write-Host @{a = 1; b = 2} 호스트에 인쇄 System.Collections.DictionaryEntry System.Collections.DictionaryEntry 됩니다.