다음을 통해 공유


Tee-Object

명령 출력을 파일 또는 변수에 저장하고 파이프라인 아래로 보냅니다.

구문

Tee-Object
   [-InputObject <PSObject>]
   [-FilePath] <String>
   [-Append]
   [<CommonParameters>]
Tee-Object
   [-InputObject <PSObject>]
   -LiteralPath <String>
   [<CommonParameters>]
Tee-Object
   [-InputObject <PSObject>]
   -Variable <String>
   [<CommonParameters>]

Description

Tee-Object cmdlet은 출력을 리디렉션합니다. 즉, 명령의 출력을 두 방향(예: 문자 T)으로 보냅니다. 출력을 파일 또는 변수에 저장하고 파이프라인 아래로 보냅니다. Tee-Object 파이프라인의 마지막 명령인 경우 명령 출력이 프롬프트에 표시됩니다.

예제

예제 1: 파일 및 콘솔에 프로세스 출력

PS C:\> Get-Process | Tee-Object -FilePath "C:\Test1\testfile2.txt"
Handles  NPM(K)    PM(K)      WS(K) VM(M)   CPU(s)    Id ProcessName
-------  ------    -----      ----- -----   ------    -- -----------
83       4     2300       4520    39     0.30    4032 00THotkey
272      6     1400       3944    34     0.06    3088 alg
81       3      804       3284    21     2.45     148 ApntEx
81       4     2008       5808    38     0.75    3684 Apoint
...

이 명령은 컴퓨터에서 실행 중인 프로세스 목록을 가져오고 결과를 파일로 보냅니다. 두 번째 경로가 지정되지 않았으므로 프로세스도 콘솔에 표시됩니다.

예제 2: 변수에 프로세스 출력 및 Select-Object

PS C:\> Get-Process notepad | Tee-Object -Variable proc | Select-Object processname,handles
ProcessName                              Handles
-----------                              -------
notepad                                  43
notepad                                  37
notepad                                  38
notepad                                  38

이 명령은 컴퓨터에서 실행 중인 프로세스 목록을 가져오고 결과를 proc라는 변수로 보냅니다. 그런 다음 결과 개체를 Select-Object로 파이프하여 ProcessName 및 Handles 속성을 선택합니다. $proc 변수에는 Get-Process에서 반환하는 기본 정보가 포함됩니다.

예제 3: 시스템 파일을 두 개의 로그 파일에 출력

PS C:\> Get-ChildItem -Path D: -File -System -Recurse | Tee-Object -FilePath "c:\test\AllSystemFiles.txt" -Append | Out-File c:\test\NewSystemFiles.txt

이 명령은 시스템 파일 목록을 두 개의 로그 파일, 누적 파일 및 현재 파일에 저장합니다.

이 명령은 Get-ChildItem cmdlet을 사용하여 D: 드라이브의 시스템 파일에 대한 재귀 검색을 수행합니다. 파이프라인 연산자(|)는 목록을 AllSystemFiles.txt 파일에 추가하고 목록을 Out-File cmdlet에 전달하여 목록을 NewSystemFiles.txt 파일에 저장하는 Tee-Object보냅니다.

매개 변수

-Append

cmdlet이 지정된 파일에 출력을 추가한다는 것을 나타냅니다. 이 매개 변수가 없으면 새 콘텐츠가 경고 없이 파일의 기존 콘텐츠를 대체합니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

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

-FilePath

이 cmdlet이 개체를 와일드카드 문자에 저장할 파일을 지정하지만 단일 파일로 확인되어야 합니다.

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

-InputObject

저장하고 표시할 개체를 지정합니다. 개체를 포함하는 변수를 입력하거나 개체를 가져오는 명령이나 식을 입력합니다. 개체를 tee-Object파이프할 수도 있습니다.

Tee-ObjectInputObject 매개 변수를 사용하는 경우 명령 결과를 Tee-Object파이핑하는 대신 값이 InputObject (Get-Process)같은 명령의 결과인 컬렉션인 경우에도 InputObject는 값을. InputObject 개체의 배열 또는 컬렉션에서 개별 속성을 반환할 수 없으므로 Tee-Object 사용하여 정의된 속성에 특정 값이 있는 개체의 개체 컬렉션에 대한 작업을 수행하는 경우 이 항목의 예제와 같이 파이프라인에서 Tee-Object 사용하는 것이 좋습니다.

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

-LiteralPath

이 cmdlet이 개체를 저장할 파일을 지정합니다. FilePath달리 LiteralPath 매개 변수의 값은 입력된 대로 정확하게 사용됩니다. 와일드카드로 해석되는 문자는 없습니다. 경로에 이스케이프 문자가 포함된 경우 작은따옴표로 묶습니다. 작은따옴표는 PowerShell에 문자를 이스케이프 시퀀스로 해석하지 않도록 지시합니다.

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

-Variable

cmdlet이 개체를 저장하는 변수를 지정합니다. 이전 달러 기호($)가 없는 변수 이름을 입력합니다.

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

입력

PSObject

개체를 tee-Object파이프할 수 있습니다.

출력

PSObject

Tee-Object 리디렉션하는 개체를 반환합니다.

참고

  • Out-File cmdlet 또는 리디렉션 연산자를 사용할 수도 있습니다. 둘 다 출력을 파일에 저장하지만 파이프라인 아래로 보내지는 않습니다.
  • Tee-Object 파일에 쓸 때 유니코드 인코딩을 사용합니다. 따라서 다른 인코딩이 있는 파일에서 출력의 형식이 제대로 지정되지 않을 수 있습니다. 인코딩을 지정하려면 Out-File cmdlet을 사용합니다.