다음을 통해 공유


Out-File

출력을 파일로 보냅니다.

구문

Out-File [-FilePath] <string> [[-Encoding] <string>] [-Append] [-Force] [-InputObject <psobject>] [-NoClobber] [-Width <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

설명

Out-File cmdlet은 출력을 파일로 보냅니다. 이 매개 변수를 사용해야 하는 경우 리디렉션 연산자(>) 대신 이 cmdlet을 사용할 수 있습니다.

매개 변수

-Append

출력으로 파일 내용을 바꾸는 대신 기존 파일의 끝에 추가합니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Encoding <string>

파일에 사용되는 문자 인코딩 유형을 지정합니다. 유효한 값은 "Unicode", "UTF7", "UTF8", "UTF32", "ASCII", "BigEndianUnicode", "Default", "OEM"입니다. 기본값은 "Unicode"입니다.

"Default"는 시스템의 현재 ANSI 코드 페이지의 인코딩을 사용합니다.

"OEM"은 운영 체제의 OEM 코드 페이지 ID를 사용합니다.

필수 여부

false

위치

2

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-FilePath <string>

출력 파일의 경로를 지정합니다.

필수 여부

true

위치

1

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Force

Cmdlet이 기존 읽기 전용 파일을 덮어쓰도록 합니다. Force 매개 변수를 사용해도 cmdlet은 보안 제한을 재정의할 수 없습니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-InputObject <psobject>

파일에 기록할 개체를 지정합니다. 개체가 포함된 변수를 입력하거나 개체를 가져오는 명령 또는 식을 입력하십시오.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

true (ByValue)

와일드카드 문자 적용 여부

false

-NoClobber

기존 파일을 덮어쓰거나 파일 내용을 바꾸지 않습니다. 파일이 지정된 경로에 있는 경우 Out-File은 기본적으로 경고 없이 파일을 덮어씁니다. Append와 NoClobber가 모두 사용되면 출력이 기존 파일에 추가됩니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Width <int>

출력의 각 행에 포함되는 문자 수를 지정합니다. 이 문자보다 많으면 잘리거나 다음 줄로 넘어갑니다. 이 매개 변수를 생략하는 경우 호스트의 특징에 따라 너비가 결정됩니다. Windows PowerShell 콘솔의 기본값은 80(자)입니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Confirm

명령을 실행하기 전에 확인 메시지를 표시합니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-WhatIf

명령을 실제로 실행하지 않고도 명령이 실행될 경우 발생할 수 있는 현상을 설명합니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

<CommonParameters>

이 cmdlet은 -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, -OutVariable 등의 일반 매개 변수를 지원합니다. 자세한 내용은 about_commonparameters.

입력 및 출력

입력 유형은 cmdlet으로 파이프할 수 있는 개체의 유형입니다. 반환 유형은 cmdlet에서 반환되는 개체의 유형입니다.

입력

System.Management.Automation.PSObject

임의의 개체를 Out-File로 파이프할 수 있습니다.

출력

없음

Out-File은 출력을 생성하지 않습니다.

참고

Out cmdlet은 개체의 형식을 지정하지 않고 렌더링만 한 후 지정된 표시 대상으로 보냅니다. 형식을 지정하지 않은 개체를 Out cmdlet에 보내면 이 cmdlet이 형식 지정 cmdlet으로 보낸 후 렌더링합니다.

Out cmdlet에는 이름이나 파일 경로에 대한 매개 변수가 없습니다. 데이터를 Out 동사를 포함하는 cmdlet(Out cmdlet)로 보내려면 파이프라인 연산자(|)를 사용하여 Windows PowerShell 명령의 출력을 cmdlet으로 보내십시오. 데이터를 변수에 저장하고 InputObject 매개 변수를 사용하여 cmdlet에 데이터를 전달할 수도 있습니다. 자세한 내용은 예를 참조하십시오.

Out-File은 데이터를 보내지만 출력 개체를 내보내지는 않습니다. Out-File의 출력을 Get-Member로 파이프하면 Get-Member에서 지정된 개체가 없음을 보고합니다.

예 1

C:\PS>get-process | out-file -filepath C:\Test1\process.txt

설명
-----------
이 명령은 컴퓨터의 프로세스 목록을 Process.txt 파일로 보냅니다. 파일이 없는 경우 Out-File이 만듭니다. FilePath 매개 변수의 이름은 선택 사항이므로 생략할 수 있으며 그와 같은 효과가 있는 "get-process | outfile C:\Test1\process.txt" 명령을 전송할 수 있습니다.





예 2

C:\PS>get-process | out-file C:\Test1\process.txt -noclobber

Out-File : File C:\Test1\process.txt already exists and NoClobber was specified.
At line:1 char:23
+ get-process | out-file  <<<< process.txt -noclobber

설명
-----------
이 명령은 Process.txt 파일에 프로세스 목록도 보내지만 기존 파일이 덮어쓰지 못하도록 방지하는 NoClobber 매개 변수를 사용합니다. 출력은 기존 파일에 NoClobber를 사용하는 경우에 나타나는 오류 메시지를 표시합니다.





예 3

C:\PS>$a = get-process

C:\PS> out-file -filepath C:\Test1\process.txt -inputobject $a -encoding ASCII -width 50

설명
-----------
이들 명령은 컴퓨터의 프로세스 목록을 Process.txt 파일로 보냅니다. 텍스트는 Findstr 및 Grep 같은 검색 프로그램에서 읽을 수 있도록 ASCII 형식으로 인코딩됩니다. Out-File은 기본적으로 유니코드 형식을 사용합니다.

첫 번째 명령은 컴퓨터 목록을 가져와 $a 변수에 저장합니다. 두 번째 명령은 Out-File cmdlet을 사용하여 이 목록을 Process.txt 파일로 보냅니다. 

이 명령은 InputObject 매개 변수를 사용하여 입력이 $a 변수에 저장하도록 지정합니다. Encoding 매개 변수를 사용하여 출력을 ASCII 형식으로 변환합니다. 또한 Width 매개 변수를 사용하여 파일의 각 줄을 50자로 제한합니다. 출력 줄이 50자에서 잘리므로 프로세스 테이블의 가장 오른쪽 열은 생략됩니다.





예 4

C:\PS>set-location hklm:\software

c:\PS>get-acl mycompany\mykey | out-file -filepath c:\ps\acl.txt

c:\PS>get-acl mycompany\mykey | out-file -filepath filesystem::acl.txt

설명
-----------
이들 명령은 FileSystem 드라이브에 있지 않은 경우에 Out-File cmdlet을 사용하는 방법을 보여 줍니다. 

첫 번째 명령은 HKLM:\Software 레지스트리 키의 현재 위치를 설정합니다.

두 번째 및 세 번째 명령은 같은 결과를 가져옵니다. 이 명령은 Get-Acl cmdlet을 사용하여 MyKey 레지스트리 하위 키(HKLM\Software\MyCompany\MyKey)에 대한 보안 설명자를 가져옵니다. 파이프라인 연산자는 Out-File cmdlet으로 결과를 전달하고 Out-File cmdlet은 이를 Acl.txt 파일로 보냅니다.

Windows PowerShell 레지스트리 공급자는 Out-File을 지원하지 않으므로 FilePath 매개 변수 값에 파일 시스템 드라이브 이름(예: "c:")이나 뒤에 콜론 두 개를 표시한 공급자 이름(예: "FileSystem::")을 지정해야 합니다. 두 번째 및 세 번째 명령은 다음 메서드를 보여 줍니다.





참고 항목

개념

Out-String
Out-Null
Out-Host
Out-Printer
Out-Default
Tee-Object