ConvertTo-Csv
개체를 일련의 CSV(쉼표로 구분된 값) 문자열로 변환합니다.
구문
Delimiter (기본값)
ConvertTo-Csv
[-InputObject] <psobject>
[[-Delimiter] <char>]
[-NoTypeInformation]
[<CommonParameters>]
UseCulture
ConvertTo-Csv
[-InputObject] <psobject>
[-UseCulture]
[-NoTypeInformation]
[<CommonParameters>]
Description
cmdlet은 ConvertTo-CSV 제출하는 개체를 나타내는 일련의 CSV(쉼표로 구분된 값) 문자열을 반환합니다. 그런 다음 ConvertFrom-Csv cmdlet을 사용하여 CSV 문자열에서 개체를 다시 만들 수 있습니다. CSV에서 변환된 개체는 속성 값과 메서드가 없는 원래 개체의 문자열 값입니다.
Export-Csv cmdlet을 사용하여 개체를 CSV 문자열로 변환할 수 있습니다.
Export-CSV CSV 문자열을 파일에 저장한다는 점을 제외하고 ConvertTo-CSV유사합니다.
ConvertTo-CSV cmdlet에는 쉼표 이외의 구분 기호를 지정하거나 현재 문화권을 구분 기호로 사용하는 매개 변수가 있습니다.
예제
예제 1: 개체를 CSV로 변환
다음은 Process 개체를 CSV 문자열로 변환하는 예제입니다.
Get-Process -Name 'PowerShell' | ConvertTo-Csv -NoTypeInformation
"Name","SI","Handles","VM","WS","PM","NPM","Path","Company","CPU","FileVersion", ...
"powershell","11","691","2204036739072","175943680","132665344","33312", ...
Get-Process cmdlet은 Process 개체를 가져오고 Name 매개 변수를 사용하여 PowerShell 프로세스를 지정합니다. 프로세스 개체는 파이프라인을 ConvertTo-CSV cmdlet으로 보냅니다.
ConvertTo-CSV cmdlet은 개체를 CSV 문자열로 변환합니다.
NoTypeInformation 매개 변수는 CSV 출력에서 #TYPE 정보 헤더를 제거합니다.
예제 2: DateTime 개체를 CSV로 변환
다음은 DateTime 개체를 CSV 문자열로 변환하는 예제입니다.
$Date = Get-Date
ConvertTo-Csv -InputObject $Date -Delimiter ';' -NoTypeInformation
"DisplayHint";"DateTime";"Date";"Day";"DayOfWeek";"DayOfYear";"Hour";"Kind";"Millisecond";"Minute";"Month";"Second";"Ticks";"TimeOfDay";"Year"
"DateTime";"Friday, January 4, 2019 14:40:51";"1/4/2019 00:00:00";"4";"Friday";"4";"14";"Local";"711";"40";"1";"51";"636822096517114991";"14:40:51.7114991";"2019"
Get-Date cmdlet은 DateTime 개체를 가져오고 $Date 변수에 저장합니다.
ConvertTo-Csv cmdlet은 DateTime 개체를 문자열로 변환합니다.
InputObject 매개 변수는 변수에 저장된 $Date 개체를 사용합니다.
구분 기호 매개 변수는 문자열 값을 구분하는 세미콜론을 지정합니다.
NoTypeInformation 매개 변수는 CSV 출력에서 #TYPE 정보 헤더를 제거합니다.
예제 3: PowerShell 이벤트 로그를 CSV로 변환
다음은 PowerShell에 대한 Windows 이벤트 로그를 일련의 CSV 문자열로 변환하는 예제입니다.
(Get-Culture).TextInfo.ListSeparator
Get-WinEvent -LogName 'Windows PowerShell' | ConvertTo-Csv -UseCulture -NoTypeInformation
,
"Message","Id","Version","Qualifiers","Level","Task","Opcode","Keywords","RecordId", ...
"Error Message = System error","403",,"0","4","4",,"36028797018963968","46891","PowerShell", ...
Get-Culture cmdlet은 TextInfo 및 ListSeparator 중첩된 속성을 사용하고 현재 문화권의 기본 목록 구분 기호를 표시합니다.
Get-WinEvent cmdlet은 이벤트 로그 개체를 가져오고 LogName 매개 변수를 사용하여 로그 파일 이름을 지정합니다. 이벤트 로그 개체는 파이프라인을 ConvertTo-Csv cmdlet으로 보냅니다.
ConvertTo-Csv cmdlet은 이벤트 로그 개체를 일련의 CSV 문자열로 변환합니다.
UseCulture 매개 변수는 현재 문화권의 기본 목록 구분 기호를 구분 기호로 사용합니다.
NoTypeInformation 매개 변수는 CSV 출력에서 #TYPE 정보 헤더를 제거합니다.
매개 변수
-Delimiter
CSV 문자열에서 속성 값을 구분할 구분 기호를 지정합니다. 기본값은 쉼표(,)입니다. 콜론(:)과 같은 문자를 입력합니다. 세미콜론(;)을 지정하려면 작은따옴표로 묶습니다.
매개 변수 속성
| 형식: | Char |
| Default value: | comma (,) |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
Delimiter
| Position: | 1 |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-InputObject
CSV 문자열로 변환되는 개체를 지정합니다. 개체를 포함하는 변수를 입력하거나 개체를 가져오는 명령이나 식을 입력합니다. 개체를 ConvertTo-CSV에 전달할 수도 있습니다.
매개 변수 속성
| 형식: | PSObject |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | 0 |
| 필수: | True |
| 파이프라인의 값: | True |
| 속성 이름별 파이프라인의 값: | True |
| 나머지 인수의 값: | False |
-NoTypeInformation
출력에서 #TYPE 정보 헤더를 제거합니다. 이 매개 변수는 PowerShell 6.0의 기본값이 되었으며 이전 버전과의 호환성을 위해 포함됩니다.
매개 변수 속성
| 형식: | SwitchParameter |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
| 별칭: | NTI |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-UseCulture
현재 문화권의 목록 구분 기호를 항목 구분 기호로 사용합니다. 문화권의 목록 구분 기호를 찾으려면 다음 명령을 사용합니다. (Get-Culture).TextInfo.ListSeparator.
매개 변수 속성
| 형식: | SwitchParameter |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
UseCulture
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
CommonParameters
이 cmdlet은 일반적인 매개 변수인 -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction 및 -WarningVariable 매개 변수를 지원합니다. 자세한 내용은 about_CommonParameters를 참조하세요.
입력
PSObject
ETS(Extended Type System) 어댑터가 있는 모든 개체를 로 파이프할 수 있습니다 ConvertTo-CSV.
출력
String
CSV 출력은 문자열 컬렉션으로 반환됩니다.
참고
CSV 형식에서 각 개체는 속성 값의 쉼표로 구분된 목록으로 표시됩니다. 속성 값은 개체의 ToString() 메서드를 사용하여 문자열로 변환됩니다. 문자열은 속성 값 이름으로 표시됩니다.
ConvertTo-CSV 개체의 메서드를 내보내지 않습니다.
CSV 문자열은 다음과 같이 출력됩니다.
- 기본적으로 첫 번째 문자열에는 개체 형식의 정규화된 이름 뒤에 #TYPE 정보 헤더가 포함됩니다. 예를 들어 System.Diagnostics.Process #TYPE.
- NoTypeInformation 사용되는 경우 첫 번째 문자열에는 열 머리글이 포함됩니다. 헤더에는 첫 번째 개체의 속성 이름이 쉼표로 구분된 목록으로 포함됩니다.
- 나머지 문자열에는 각 개체의 속성 값에 대한 쉼표로 구분된 목록이 포함됩니다.
여러 개체를 ConvertTo-CSV제출하면 ConvertTo-CSV 제출한 첫 번째 개체의 속성에 따라 문자열을 정렬합니다. 나머지 개체에 지정된 속성 중 하나가 없으면 두 개의 연속된 쉼표로 표시된 대로 해당 개체의 속성 값이 Null입니다. 나머지 개체에 추가 속성이 있는 경우 해당 속성 값은 무시됩니다.