다음을 통해 공유


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-Output NoEnumerate 매개 변수를 사용하여 컬렉션을 파이프라인 아래로 단일 개체로 전달할 수도 있습니다.

예제

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

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

$P = Get-Process
Write-Output $P

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

이 명령은 "test output" 문자열을 cmdlet으로 Get-Member 파이프합니다. 이 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

기본적으로 cmdlet은 Write-Output 항상 출력을 열거합니다. NoEnumerate 매개 변수는 기본 동작을 표시하지 않고 출력을 열거하지 못하게 합니다Write-Output. 괄호가 강제로 열거되므로 명령이 괄호로 래핑된 경우에는 NoEnumerate 매개 변수가 적용되지 않습니다. 예를 들어 여전히 (Write-Output 1,2,3) 배열을 열거합니다.

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

Important

Windows PowerShell에서 PowerShell 6.2 이상에서 수정된 이 스위치에 문제가 있습니다. NoEnumerate를 사용하고 InputObject 매개 변수를 명시적으로 사용하는 경우 명령은 여전히 열거됩니다. 이 작업을 수행하려면 InputObject 인수를 위치적으로 전달합니다.

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

입력

PSObject

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

출력

PSObject

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

참고

Windows PowerShell에는 다음 별칭이 포함됩니다.Write-Output

  • echo
  • write