다음을 통해 공유


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

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

예제

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

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

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'

이 예제에서는 컴퓨터에서 실행 중인 프로세스 목록을 가져오고 변수에 $proc 저장한 다음 파이프합니다 Select-Object.

Get-Process notepad | Tee-Object -Variable proc | Select-Object processname,handles

ProcessName                              Handles
-----------                              -------
notepad                                  43
notepad                                  37
notepad                                  38
notepad                                  38

cmdlet은 Select-Object ProcessNameHandles 속성을 선택합니다. 변수에는 $proc .에서 반환하는 기본 정보가 포함됩니다 Get-Process.

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

이 예제에서는 시스템 파일 목록을 두 개의 로그 파일, 누적 파일 및 현재 파일에 저장합니다.

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

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

매개 변수

-Append

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

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

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

-FilePath

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

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

-InputObject

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

명령 결과를 Tee-Object파이핑하는 대신 InputObject 매개 변수와 함께 Tee-Object사용하면 값이 컬렉션인 경우에도 InputObject 값이 단일 개체로 처리됩니다.

형식: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

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

출력

PSObject

이 cmdlet은 리디렉션하는 개체를 반환합니다.

참고

Windows PowerShell에는 다음 별칭이 포함됩니다.Tee-Object

  • tee

cmdlet 또는 리디렉션 연산자를 사용할 Out-File 수도 있습니다. 둘 다 출력을 파일에 저장하지만 파이프라인 아래로 보내지는 않습니다.

Tee-Object 는 파일에 쓸 때 "유니코드"(UTF-16LE) 인코딩을 사용합니다. 다른 인코딩이 필요한 경우 인코딩 매개 변수와 함께 cmdlet을 사용합니다Out-File.