Export-CSV
Microsoft .NET Framework 개체를 일련의 CSV(쉼표로 구분된 값) 가변 길이 문자열로 변환하여 CSV 파일에 저장합니다.
구문
Export-CSV [[-Delimiter] <char>] [-Path] <string> -InputObject <psobject> [-Encoding <string>] [-Force] [-NoClobber] [-NoTypeInformation] [-Confirm] [-WhatIf] [<CommonParameters>]
Export-CSV [-UseCulture] [-Path] <string> -InputObject <psobject> [-Encoding <string>] [-Force] [-NoClobber] [-NoTypeInformation] [-Confirm] [-WhatIf] [<CommonParameters>]
설명
Export-CSV cmdlet은 전송한 개체를 나타내는 CSV 가변 길이 파일을 만듭니다.
그러면 Import-CSV cmdlet을 사용하여 파일에 있는 CSV 문자열에서 개체를 다시 만들 수 있습니다. 결과 개체는 속성 값(메서드는 포함 안 됨)의 문자열 표시로 이루어진 원래 개체의 CSV 버전입니다.
또한 ConvertTo-CSV 및 ConvertFrom-CSV cmdlet을 사용하여 .NET Framework 개체를 CSV 문자열로 변환하거나 그 반대로 변환할 수 있습니다. Export-CSV는 CSV 문자열을 파일에 저장한다는 점을 제외하면 ConvertTo-CSV와 동일합니다.
Export-CSV cmdlet의 매개 변수를 사용하여 쉼표 이외의 구분 기호를 지정하거나 현재 culture의 기본 구분 기호를 사용하도록 Export-CSV에 지시할 수 있습니다.
여러 개체를 Export-CSV로 전송하면 Export-CSV는 전송한 첫 번째 개체의 속성을 기준으로 파일을 구성합니다. 나머지 개체에 지정된 속성이 하나도 없으면 해당 개체의 속성 값은 두 개의 연속된 쉼표로 표시되는 null입니다. 나머지 개체에 추가 속성이 있으면 이러한 속성 값은 파일에 포함되지 않습니다.
자세한 내용은 Export-CSV의 참고 섹션을 참조하십시오.
매개 변수
-Delimiter <char>
속성 값을 구분하는 구분 기호를 지정합니다. 기본값은 쉼표(,)입니다. 콜론(:)과 같은 문자를 입력합니다. 세미콜론(;)을 지정하려면 따옴표로 묶어야 합니다.
필수 여부 |
false |
위치 |
2 |
기본값 |
,(쉼표) |
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-Encoding <string>
내보낸 CSV 파일의 인코딩을 지정합니다. 유효한 값은 Unicode, UTF7, UTF8, ASCII, UTF32, BigEndianUnicode, Default 및 OEM입니다. 기본값은 ASCII입니다.
필수 여부 |
false |
위치 |
named |
기본값 |
ASCII |
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-Force
확인 메시지 없이 경로에 지정된 파일을 덮어씁니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-InputObject <psobject>
CSV 문자열로 내보낼 개체를 지정합니다. 개체가 포함된 변수를 입력하거나 개체를 가져오는 명령 또는 식을 입력하십시오. 개체를 Export-CSV로 파이프할 수도 있습니다.
필수 여부 |
true |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
true (ByValue, ByPropertyName) |
와일드카드 문자 적용 여부 |
false |
-NoClobber
기존 파일을 덮어쓰거나 파일 내용을 바꾸지 않습니다. 파일이 지정된 경로에 있는 경우 Export-CSV는 기본적으로 경고 없이 파일을 덮어씁니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-NoTypeInformation
CSV 파일에서 유형 정보를 생략합니다. 기본적으로 CSV 파일의 첫 번째 줄에는 "#TYPE "과 .NET Framework 개체 유형의 정규화된 이름이 차례로 포함됩니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-Path <string>
CSV 출력 파일의 경로를 지정합니다. 이 매개 변수는 필수 사항입니다.
필수 여부 |
true |
위치 |
1 |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-UseCulture
현재 culture의 목록 구분 기호를 항목 구분 기호로 사용합니다. 기본값은 쉼표(,)입니다.
이 매개 변수는 전 세계 사용자에게 배포되는 스크립트에서 유용할 수 있습니다. culture에 대한 목록 구분 기호를 찾으려면 (Get-Culture).TextInfo.ListSeparator 명령을 사용합니다.
필수 여부 |
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 임의의 .NET Framework 개체를 Export-CSV로 파이프할 수 있습니다. |
출력 |
System.String CSV 목록이 Path 매개 변수에 지정된 파일로 보내집니다. |
참고
Export-CSV cmdlet은 전송한 개체를 일련의 CSV 가변 길이 문자열로 변환하여 지정된 텍스트 파일에 저장합니다. Export-CSV를 사용하여 개체를 CSV 파일에 저장한 다음 Import-CSV cmdlet을 사용하여 CSV 파일의 텍스트에서 개체를 만들 수 있습니다.
CSV 파일에서 각 개체는 쉼표로 구분된 개체 속성 값 목록으로 표시됩니다. 속성 값은 개체의 ToString() 메서드를 통해 문자열로 변환되므로 일반적으로 속성 값 이름으로 표시됩니다. Export-CSV는 개체의 메서드를 내보내지 않습니다.
내보낸 파일의 형식은 다음과 같습니다.
-- CSV 파일의 첫 번째 줄은 '#TYPE '이라는 문자열과 개체의 .NET Framework 유형의 정규화된 이름으로 구성됩니다(예: #TYPE System.Diagnostics.Process). 이 줄을 표시하지 않으려면 NoTypeInformation 매개 변수를 사용합니다.
-- CSV 파일의 다음 줄은 열 머리글을 나타냅니다. 여기에는 첫 번째 개체의 모든 속성 이름을 쉼표로 구분한 목록이 포함됩니다.
-- 파일의 다른 줄은 각 개체의 속성 값을 쉼표로 구분한 목록으로 구성됩니다.
예 1
C:\PS>get-process wmiprvse | select-object basePriority,ID,SessionID,WorkingSet | export-csv -path data.csv
설명
-----------
이 명령은 wmiprvse 프로세스의 속성을 몇 가지 선택하고 이 속성을 data.csv라는 CSV 형식 파일로 내보냅니다.
예 2
C:\PS>get-process | export-csv processes.csv
C:\PS> get-process | export-csv processes.csv
# In processes.csv
#TYPE System.Diagnostics.Process
__NounName,Name,Handles,VM,WS,PM,NPM,Path,Company,CPU,FileVersion,...
Process,powershell,626,201666560,76058624,61943808,11960,C:\WINDOWS...
Process,powershell,257,151920640,38322176,37052416,7836,C:\WINDOWS\...
설명
-----------
이 명령은 컴퓨터의 프로세스를 나타내는 개체를 현재 디렉터리의 Processes.csv 파일로 내보냅니다. 구분 기호가 지정되지 않았으므로 파일의 필드를 구분하는 데 쉼표(,)가 사용됩니다.
예 3
C:\PS>get-process | export-csv processes.csv -Delimiter ";"
# In processes.csv
#TYPE System.Diagnostics.Process
__NounName;Name;Handles;VM;WS;PM;NPM;Path;Company;CPU;FileVersion;...
Process;powershell;626;201666560;76058624;61943808;11960;C:\WINDOWS...
Process;powershell;257;151920640;38322176;37052416;7836;C:\WINDOWS\...
설명
-----------
이 명령은 컴퓨터의 프로세스를 나타내는 개체를 현재 디렉터리의 Processes.csv 파일로 내보냅니다. 이 명령은 Delimiter 매개 변수를 사용하여 세미콜론(;)을 지정하므로 파일의 필드는 세미콜론으로 구분됩니다.
예 4
C:\PS>get-process | export-csv processes.csv -UseCulture
설명
-----------
이 명령은 컴퓨터의 프로세스를 나타내는 개체를 현재 디렉터리의 Processes.csv 파일로 내보냅니다. 이 명령은 UseCulture 매개 변수를 사용하여 현재 culture의 ListSeparator 속성에 지정된 구분 기호를 사용하도록 Export-CSV에 지시합니다.
예 5
C:\PS>get-process | export-csv processes.csv -NoTypeInformation
C:\PS> get-process | export-csv processes.csv -NoTypeInformation
# In processes.csv
__NounName,Name,Handles,VM,WS,PM,NPM,Path,Company,CPU,FileVersion,...
Process,powershell,626,201666560,76058624,61943808,11960,C:\WINDOWS...
Process,powershell,257,151920640,38322176,37052416,7836,C:\WINDOWS\...
설명
-----------
이 명령은 컴퓨터의 프로세스를 나타내는 개체를 현재 디렉터리의 Processes.csv 파일로 내보냅니다. 이 명령은 NoTypeInformation 매개 변수를 사용하여 파일의 유형 정보를 표시하지 않도록 합니다.