다음을 통해 공유


Write-Output

지정된 객체를 파이프라인에 기록합니다.

구문

Write-Output
     [-InputObject] <PSObject[]>
     [-NoEnumerate]
     [<CommonParameters>]

Description

파이프라인에 지정된 개체를 기록합니다. Write-Output 파이프라인의 마지막 명령이면 개체가 콘솔에 표시됩니다.

Write-Output 개체를 주 파이프라인(성공 스트림이라고도 함)으로 보냅니다. 오류 스트림에 오류 개체를 보내려면 Write-Error사용합니다.

이 cmdlet은 일반적으로 스크립트에서 콘솔에 문자열 및 기타 개체를 표시하는 데 사용됩니다. Write-Output의 기본 제공 별칭 중 하나는 echo이며, 이것은 echo를 사용하는 다른 셸과 유사합니다. 기본 동작은 파이프라인의 끝에 출력을 표시하는 것입니다. PowerShell에서는 일반적으로 출력이 기본적으로 표시되는 인스턴스에서 cmdlet을 사용할 필요가 없습니다. 예를 들어 Get-Process | Write-OutputGet-Process동일합니다. 또는 echo "Home directory: $HOME""Home directory: $HOME"로 작성할 수 있습니다.

기본적으로 Write-Output 컬렉션의 개체를 열거합니다. 그러나 Write-OutputNoEnumerate 매개 변수를 사용하여 컬렉션을 단일 개체로 파이프라인 아래로 전달할 수도 있습니다.

예제

예제 1: 개체 가져오기 및 콘솔에 쓰기

이 예제에서는 Get-Process cmdlet의 결과가 $P 변수에 저장됩니다. Write-Output cmdlet은 콘솔에 $P 프로세스 개체를 표시합니다.

$P = Get-Process
Write-Output $P

예제 2: 출력을 다른 cmdlet에 전달

이 명령은 "test output" 문자열을 Get-Member cmdlet으로 파이프합니다. 이 cmdlet은 System.String 클래스의 멤버를 표시하여 문자열이 파이프라인을 따라 전달되었음을 보여 줍니다.

Write-Output "test output" | Get-Member

예제 3: 출력에서 열거 안 함

이 명령은 파이프라인을 통해 컬렉션 또는 배열을 단일 개체로 처리하는 NoEnumerate 매개 변수를 추가합니다.

Write-Output 1,2,3 | Measure-Object

Count    : 3
...

Write-Output 1,2,3 -NoEnumerate | Measure-Object

Count    : 1
...

매개 변수

-InputObject

파이프라인 아래로 전달할 개체를 지정합니다. 개체가 포함된 변수를 입력하거나 개체를 가져오는 명령이나 식을 입력합니다.

형식:PSObject[]
Position:0
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-NoEnumerate

기본적으로 Write-Output cmdlet은 항상 출력을 열거합니다. NoEnumerate 매개 변수는 기본 동작을 억제하고 Write-Output가 출력을 열거하지 못하도록 합니다. 명령이 괄호로 감싸져 있으면 괄호가 열거를 강제하므로 NoEnumerate 매개 변수는 효과가 없습니다. 예를 들어 (Write-Output 1,2,3 -NoEnumerate) 여전히 배열을 열거합니다.

NoEnumerate 매개 변수는 파이프라인 내에서만 유용합니다. PowerShell이 모든 명령줄 끝에 Out-Default를 추가하여 열거형이 발생하게 되므로, 콘솔에서 NoEnumerate의 효과를 확인하는 것은 문제가 됩니다. 다만, Write-Output -NoEnumerate을 다른 cmdlet으로 파이프로 연결하는 경우, 다운스트림 cmdlet은 컬렉션의 열거된 항목이 아닌 컬렉션 개체를 받게 됩니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

입력

PSObject

개체를 이 cmdlet으로 파이핑할 수 있습니다.

출력

PSObject

이 cmdlet은 입력으로 제출된 개체를 반환합니다.

참고

PowerShell에는 다음과 같은 Write-Output의 별칭이 포함되어 있습니다.

  • 모든 플랫폼:

    • echo
  • Windows:

    • write