Out-File
출력을 파일로 보냅니다.
Syntax
Out-File
[-FilePath] <string>
[[-Encoding] <string>]
[-Append]
[-Force]
[-NoClobber]
[-Width <int>]
[-NoNewline]
[-InputObject <psobject>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Out-File
[[-Encoding] <string>]
-LiteralPath <string>
[-Append]
[-Force]
[-NoClobber]
[-Width <int>]
[-NoNewline]
[-InputObject <psobject>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
cmdlet은 Out-File
출력을 파일로 보냅니다. 리디렉션 연산자(>
)가 아닌 출력 사용에 Out-File
대한 매개 변수를 지정해야 하는 경우
예제
예제 1: 출력 보내기 및 파일 만들기
이 예제에서는 로컬 컴퓨터의 프로세스 목록을 파일로 보내는 방법을 보여줍니다. 파일이 없 Out-File
으면 지정된 경로에 파일을 만듭니다.
Get-Process | Out-File -FilePath .\Process.txt
Get-Content -Path .\Process.txt
NPM(K) PM(M) WS(M) CPU(s) Id SI ProcessName
------ ----- ----- ------ -- -- -----------
29 22.39 35.40 10.98 42764 9 Application
53 99.04 113.96 0.00 32664 0 CcmExec
27 96.62 112.43 113.00 17720 9 Code
cmdlet은 Get-Process
로컬 컴퓨터에서 실행되는 프로세스 목록을 가져옵니다. Process 개체는 파이프라인 아래로 cmdlet으로 Out-File
전송됩니다. Out-File
에서는 FilePath 매개 변수를 사용하고 Process.txt라는 현재 디렉터리에 파일을 만듭니다. 명령은 Get-Content
파일에서 콘텐츠를 가져오고 PowerShell 콘솔에 표시합니다.
예제 2: 기존 파일을 덮어쓰지 않도록 방지
이 예제에서는 기존 파일을 덮어쓰지 않습니다. 기본적으로 Out-File
는 기존 파일을 덮어씁니다.
Get-Process | Out-File -FilePath .\Process.txt -NoClobber
Out-File : The file 'C:\Test\Process.txt' already exists.
At line:1 char:15
+ Get-Process | Out-File -FilePath .\Process.txt -NoClobber
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cmdlet은 Get-Process
로컬 컴퓨터에서 실행되는 프로세스 목록을 가져옵니다. Process 개체는 파이프라인 아래로 cmdlet으로 Out-File
전송됩니다. Out-File
는 FilePath 매개 변수를 사용하고 Process.txt라는 현재 디렉터리의 파일에 쓰려고 시도합니다. NoClobber 매개 변수는 파일을 덮어쓰지 못하게 하고 파일이 이미 있다는 메시지를 표시합니다.
예제 3: ASCII 형식의 파일에 출력 보내기
이 예제에서는 특정 인코딩 형식으로 출력을 인코딩하는 방법을 보여줍니다.
$Procs = Get-Process
Out-File -FilePath .\Process.txt -InputObject $Procs -Encoding ASCII -Width 50
cmdlet은 Get-Process
로컬 컴퓨터에서 실행되는 프로세스 목록을 가져옵니다. Process 개체는 변수 $Procs
에 저장됩니다. Out-File
에서는 FilePath 매개 변수를 사용하고 Process.txt라는 현재 디렉터리에 파일을 만듭니다. InputObject 매개 변수는 의 프로세스 개체를 Process.txt파일에 전달합니다$Procs
. Encoding 매개 변수는 출력을 ASCII 형식으로 변환합니다. Width 매개 변수는 일부 데이터가 잘리도록 파일의 각 줄을 50자로 제한합니다.
예제 4: 공급자를 사용하고 파일에 출력 보내기
이 예제에서는 FileSystem 공급자 드라이브에 Out-File
없을 때 cmdlet을 사용하는 방법을 보여 줍니다. cmdlet을 Get-PSProvider
사용하여 로컬 컴퓨터에서 공급자를 봅니다. 자세한 내용은 about_Providers를 참조하세요.
PS> Set-Location -Path Alias:
PS> Get-Location
Path
----
Alias:\
PS> Get-ChildItem | Out-File -FilePath C:\TestDir\AliasNames.txt
PS> Get-Content -Path C:\TestDir\AliasNames.txt
CommandType Name
----------- ----
Alias % -> ForEach-Object
Alias ? -> Where-Object
Alias ac -> Add-Content
Alias cat -> Get-Content
명령은 Set-Location
Path 매개 변수를 사용하여 현재 위치를 레지스트리 공급자 Alias:
로 설정합니다. cmdlet은 Get-Location
에 대한 Alias:
전체 경로를 표시합니다.
Get-ChildItem
는 파이프라인 아래로 개체를 cmdlet으로 Out-File
보냅니다. Out-File
에서는 FilePath 매개 변수를 사용하여 출력에 대한 전체 경로 및 파일 이름을 지정하고C:\TestDir\AliasNames.txt. cmdlet은 Get-Content
Path 매개 변수를 사용하고 PowerShell 콘솔에 파일의 콘텐츠를 표시합니다.
매개 변수
-Append
기존 파일의 끝에 출력을 추가합니다. 인코딩을 지정하지 않으면 cmdlet은 기본 인코딩을 사용합니다. 해당 인코딩이 대상 파일의 인코딩과 일치하지 않을 수 있습니다. 리디렉션 연산자(>>
)와 동일한 동작입니다.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
cmdlet을 실행하기 전에 확인을 요청합니다.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Encoding
대상 파일의 인코딩 유형을 지정합니다. 기본값은 Unicode입니다.
이 매개 변수에 허용되는 값은 다음과 같습니다.
- Ascii ASCII(7비트) 문자 집합을 사용합니다.
- BigEndianUnicode big-endian 바이트 순서와 함께 UTF-16을 사용합니다.
- 기본 시스템의 활성 코드 페이지(일반적으로 ANSI)에 해당하는 인코딩을 사용합니다.
- Oem 시스템의 현재 OEM 코드 페이지에 해당하는 인코딩을 사용합니다.
- 문자열유니코드와 동일합니다.
- 유니코드 LITTLE-endian 바이트 순서와 함께 UTF-16을 사용합니다.
- 알려지지 않은유니코드와 동일합니다.
- UTF7 UTF-7을 사용합니다.
- UTF8 UTF-8을 사용합니다.
- UTF32 LITTLE-endian 바이트 순서와 함께 UTF-32를 사용합니다.
Type: | String |
Accepted values: | ASCII, BigEndianUnicode, Default, OEM, String, Unicode, Unknown, UTF7, UTF8, UTF32 |
Position: | 1 |
Default value: | Unicode |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FilePath
출력 파일의 경로를 지정합니다.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
읽기 전용 특성을 재정의하고 기존 읽기 전용 파일을 덮어씁니다. Force 매개 변수는 보안 제한을 재정의하지 않습니다.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
파일에 기록할 개체를 지정합니다. 개체를 포함하는 변수를 입력하거나 개체를 가져오는 명령 또는 식을 입력하세요.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LiteralPath
출력 파일의 경로를 지정합니다. LiteralPath 매개 변수는 입력된 대로 정확히 사용됩니다. 와일드 카드 문자 허용 되지 않습니다. 이스케이프 문자가 포함된 경로는 작은따옴표로 묶으세요. 작은따옴표는 PowerShell에 문자를 이스케이프 시퀀스로 해석하지 않도록 지시합니다. 자세한 내용은 about_Quoting_Rules 참조하세요.
Type: | String |
Aliases: | PSPath |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NoClobber
NoClobber 는 기존 파일을 덮어쓰지 못하게 하고 파일이 이미 존재한다는 메시지를 표시합니다. 기본적으로 지정된 경로 Out-File
에 파일이 있는 경우 는 경고 없이 파일을 덮어씁니다.
Type: | SwitchParameter |
Aliases: | NoOverwrite |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NoNewline
파일에 기록된 콘텐츠가 줄 바꿈 문자로 끝나지 않도록 지정합니다. 입력 개체의 문자열 표현이 연결되어 출력을 형성합니다. 출력 문자열 사이에 공백이나 줄 바꿈이 삽입되지 않습니다. 마지막 출력 문자열 다음에 줄 바꿈이 추가되지 않습니다.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
cmdlet을 실행할 경우 발생하는 일을 표시합니다. cmdlet은 실행되지 않습니다.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Width
출력의 각 줄에 포함되는 문자 수를 지정합니다. 이 문자보다 많으면 잘리거나 다음 줄로 넘어갑니다. 이 매개 변수를 사용하지 않으면 너비는 호스트의 특성에 따라 결정됩니다. PowerShell 콘솔의 기본값은 80자입니다.
Type: | Int |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
입력
모든 개체를 로 파이프할 Out-File
수 있습니다.
출력
None
Out-File
는 출력을 생성하지 않습니다.
참고
cmdlet은 Out
개체의 서식을 지정하지 않으며, 개체를 렌더링하고 지정된 표시 대상으로 보냅니다. 형식이 지정되지 않은 개체를 cmdlet에 Out
보내는 경우 cmdlet은 cmdlet을 렌더링하기 전에 서식 지정 cmdlet으로 보냅니다.
PowerShell 명령의 출력을 cmdlet에 Out-File
보내려면 파이프라인을 사용합니다. 변수에 데이터를 저장하고 InputObject 매개 변수를 사용하여 cmdlet에 Out-File
데이터를 전달할 수 있습니다.
Out-File
는 데이터를 전송하지만 출력 개체는 생성하지 않습니다. 의 출력 Out-File
Get-Member
을 로 파이프하는 경우 cmdlet은 Get-Member
개체가 지정되지 않았다고 보고합니다.