다음을 통해 공유


Export-Csv

개체를 일련의 CSV(쉼표로 구분된 값) 문자열로 변환하고 문자열을 파일에 저장합니다.

Syntax

Export-Csv
      [[-Path] <string>]
      [[-Delimiter] <char>]
      -InputObject <psobject>
      [-LiteralPath <string>]
      [-Force]
      [-NoClobber]
      [-Encoding <string>]
      [-Append]
      [-NoTypeInformation]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Export-Csv
      [[-Path] <string>]
      -InputObject <psobject>
      [-LiteralPath <string>]
      [-Force]
      [-NoClobber]
      [-Encoding <string>]
      [-Append]
      [-UseCulture]
      [-NoTypeInformation]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Description

cmdlet은 Export-CSV 제출하는 개체의 CSV 파일을 만듭니다. 각 개체는 개체의 속성 값에 대한 쉼표로 구분된 목록을 포함하는 행입니다. cmdlet을 Export-CSV 사용하여 스프레드시트를 만들고 CSV 파일을 입력으로 허용하는 프로그램과 데이터를 공유할 수 있습니다.

cmdlet으로 보내기 전에 개체의 서식을 Export-CSV 지정하지 마세요. 형식이 지정된 개체를 수신하는 경우 Export-CSV CSV 파일에는 개체 속성이 아닌 형식 속성이 포함됩니다. 선택한 개체 속성만 내보내려면 cmdlet을 Select-Object 사용합니다.

예제

예제 1: 프로세스 속성을 CSV 파일로 내보내기

다음은 특정 속성을 사용하여 개체 처리를 선택하고 개체를 CSV 파일로 내보내는 예제입니다.

Get-Process -Name WmiPrvSE | Select-Object -Property BasePriority,Id,SessionId,WorkingSet |
  Export-Csv -Path .\WmiData.csv -NoTypeInformation
Import-Csv -Path .\WmiData.csv

BasePriority Id    SessionId WorkingSet
------------ --    --------- ----------
8            976   0         20267008
8            2292  0         36786176
8            3816  0         30351360
8            8604  0         15011840
8            10008 0         8830976
8            11764 0         14237696
8            54632 0         9502720

cmdlet은 Get-ProcessProcess 개체를 가져옵니다. Name 매개 변수는 출력을 필터링하여 WmiPrvSE 프로세스 개체만 포함합니다. 프로세스 개체는 파이프라인을 cmdlet으로 Select-Object 보냅니다. Select-Object는 Property 매개 변수를 사용하여 프로세스 개체 속성의 하위 집합을 선택합니다. 프로세스 개체는 파이프라인을 cmdlet으로 Export-Csv 보냅니다. Export-Csv 는 프로세스 개체를 일련의 CSV 문자열로 변환합니다. Path 매개 변수는 WmiData.csv 파일이 현재 디렉터리에 저장되도록 지정합니다. NoTypeInformation 매개 변수는 CSV 출력에서 #TYPE 정보 헤더를 제거하며 PowerShell 6에서는 필요하지 않습니다. cmdlet은 Import-CsvPath 매개 변수를 사용하여 현재 디렉터리에 있는 파일을 표시합니다.

예제 2: 쉼표로 구분된 파일로 프로세스 내보내기

이 예제에서는 Process 개체를 가져오고 개체를 CSV 파일로 내보냅니다.

Get-Process | Export-Csv -Path .\Processes.csv -NoTypeInformation
Get-Content -Path .\Processes.csv

"Name","SI","Handles","VM","WS","PM","NPM","Path","Parent","Company","CPU","FileVersion", ...
"ApplicationFrameHost","4","511","2203597099008","35364864","21979136","30048", ...

cmdlet은 Get-ProcessProcess 개체를 가져옵니다. 프로세스 개체는 파이프라인을 cmdlet으로 Export-Csv 보냅니다. Export-Csv 는 프로세스 개체를 일련의 CSV 문자열로 변환합니다. Path 매개 변수는 Processes.csv 파일이 현재 디렉터리에 저장되도록 지정합니다. NoTypeInformation 매개 변수는 CSV 출력에서 #TYPE 정보 헤더를 제거하며 PowerShell 6에서는 필요하지 않습니다. cmdlet은 Get-ContentPath 매개 변수를 사용하여 현재 디렉터리에 있는 파일을 표시합니다.

예제 3: 세미콜론으로 구분된 파일로 프로세스 내보내기

이 예제에서는 Process 개체를 가져오고 개체를 세미콜론 구분 기호가 있는 파일로 내보냅니다.

Get-Process | Export-Csv -Path .\Processes.csv -Delimiter ';' -NoTypeInformation
Get-Content -Path .\Processes.csv

"Name";"SI";"Handles";"VM";"WS";"PM";"NPM";"Path";"Parent";"Company";"CPU";"FileVersion"; ...
"ApplicationFrameHost";"4";"509";"2203595321344";"34807808";"21770240";"29504"; ...

cmdlet은 Get-ProcessProcess 개체를 가져옵니다. 프로세스 개체는 파이프라인을 cmdlet으로 Export-Csv 보냅니다. Export-Csv 는 프로세스 개체를 일련의 CSV 문자열로 변환합니다. Path 매개 변수는 Processes.csv 파일이 현재 디렉터리에 저장되도록 지정합니다. Delimiter 매개 변수는 문자열 값을 구분하는 세미콜론을 지정합니다. NoTypeInformation 매개 변수는 CSV 출력에서 #TYPE 정보 헤더를 제거하며 PowerShell 6에서는 필요하지 않습니다. cmdlet은 Get-ContentPath 매개 변수를 사용하여 현재 디렉터리에 있는 파일을 표시합니다.

예제 4: 현재 문화권의 목록 구분 기호를 사용하여 프로세스 내보내기

이 예제에서는 Process 개체를 가져오고 개체를 파일로 내보냅니다. 구분 기호는 현재 문화권의 목록 구분 기호입니다.

(Get-Culture).TextInfo.ListSeparator
Get-Process | Export-Csv -Path .\Processes.csv -UseCulture -NoTypeInformation
Get-Content -Path .\Processes.csv

"Name","SI","Handles","VM","WS","PM","NPM","Path","Parent","Company","CPU","FileVersion", ...
"ApplicationFrameHost","4","511","2203597099008","35364864","21979136","30048", ...

cmdlet은 Get-CultureTextInfoListSeparator 중첩 속성을 사용하고 현재 문화권의 기본 목록 구분 기호를 표시합니다. cmdlet은 Get-ProcessProcess 개체를 가져옵니다. 프로세스 개체는 파이프라인을 cmdlet으로 Export-Csv 보냅니다. Export-Csv 는 프로세스 개체를 일련의 CSV 문자열로 변환합니다. Path 매개 변수는 Processes.csv 파일이 현재 디렉터리에 저장되도록 지정합니다. UseCulture 매개 변수는 현재 문화권의 기본 목록 구분 기호를 구분 기호로 사용합니다. NoTypeInformation 매개 변수는 CSV 출력에서 #TYPE 정보 헤더를 제거하며 PowerShell 6에서는 필요하지 않습니다. cmdlet은 Get-ContentPath 매개 변수를 사용하여 현재 디렉터리에 있는 파일을 표시합니다.

예제 5: 형식 정보를 사용하여 프로세스 내보내기

이 예제에서는 CSV 파일에 #TYPE 헤더 정보를 포함하는 방법을 설명합니다. #TYPE 헤더는 PowerShell 6.0 이전 버전의 기본값입니다.

Get-Process | Export-Csv -Path .\Processes.csv
Get-Content -Path .\Processes.csv

#TYPE System.Diagnostics.Process
"Name","SI","Handles","VM","WS","PM","NPM","Path","Company","CPU","FileVersion", ...
"ApplicationFrameHost","4","507","2203595001856","35139584","20934656","29504", ...

cmdlet은 Get-ProcessProcess 개체를 가져옵니다. 프로세스 개체는 파이프라인을 cmdlet으로 Export-Csv 보냅니다. Export-Csv 는 프로세스 개체를 일련의 CSV 문자열로 변환합니다. Path 매개 변수는 Processes.csv 파일이 현재 디렉터리에 저장되도록 지정합니다. cmdlet은 Get-ContentPath 매개 변수를 사용하여 현재 디렉터리에 있는 파일을 표시합니다.

예제 6: CSV 파일에 개체 내보내기 및 추가

이 예제에서는 개체를 CSV 파일로 내보내고 Append 매개 변수를 사용하여 기존 파일에 개체를 추가하는 방법을 설명합니다.

$AppService = (Get-Service -DisplayName *Application* | Select-Object -Property DisplayName, Status)
$AppService | Export-Csv -Path .\Services.Csv -NoTypeInformation
Get-Content -Path .\Services.Csv
$WinService = (Get-Service -DisplayName *Windows* | Select-Object -Property DisplayName, Status)
$WinService | Export-Csv -Path ./Services.csv -NoTypeInformation -Append
Get-Content -Path .\Services.Csv

"DisplayName","Status"
"Application Layer Gateway Service","Stopped"
"Application Identity","Running"
"Windows Audio Endpoint Builder","Running"
"Windows Audio","Running"
"Windows Event Log","Running"

cmdlet은 Get-Service 서비스 개체를 가져옵니다. DisplayName 매개 변수는 Application이라는 단어가 포함된 서비스를 반환합니다. 서비스 개체는 파이프라인을 cmdlet으로 Select-Object 보냅니다. Select-Object 에서는 Property 매개 변수를 사용하여 DisplayNameStatus 속성을 지정합니다. 변수는 $AppService 개체를 저장합니다.

개체는 $AppService 파이프라인 아래로 cmdlet으로 Export-Csv 전송됩니다. Export-Csv 는 서비스 개체를 일련의 CSV 문자열로 변환합니다. Path 매개 변수는 Services.csv 파일이 현재 디렉터리에 저장되도록 지정합니다. NoTypeInformation 매개 변수는 CSV 출력에서 #TYPE 정보 헤더를 제거하며 PowerShell 6에서는 필요하지 않습니다. cmdlet은 Get-ContentPath 매개 변수를 사용하여 현재 디렉터리에 있는 파일을 표시합니다.

Get-ServiceSelect-Object cmdlet은 Windows라는 단어가 포함된 서비스에 대해 반복됩니다. 변수는 $WinService 서비스 개체를 저장합니다. cmdlet은 Export-CsvAppend 매개 변수를 사용하여 개체가 $WinService 기존 Services.csv 파일에 추가되도록 지정합니다. Get-Content cmdlet은 추가된 데이터를 포함하는 업데이트된 파일을 표시하기 위해 반복됩니다.

예제 7: 파이프라인 내에서 cmdlet 형식 지정으로 예기치 않은 결과가 생성됨

이 예제에서는 파이프라인 내에서 형식 cmdlet을 사용하지 않는 것이 중요한 이유를 보여 줍니다. 예기치 않은 출력이 수신되면 파이프라인 구문 문제를 해결합니다.

Get-Date | Select-Object -Property DateTime, Day, DayOfWeek, DayOfYear |
 Export-Csv -Path .\DateTime.csv -NoTypeInformation
Get-Content -Path .\DateTime.csv

"DateTime","Day","DayOfWeek","DayOfYear"
"Wednesday, January 2, 2019 14:59:34","2","Wednesday","2"

Get-Date | Format-Table -Property DateTime, Day, DayOfWeek, DayOfYear |
 Export-Csv -Path .\FTDateTime.csv -NoTypeInformation
Get-Content -Path .\FTDateTime.csv

"ClassId2e4f51ef21dd47e99d3c952918aff9cd","pageHeaderEntry","pageFooterEntry","autosizeInfo", ...
"033ecb2bc07a4d43b5ef94ed5a35d280",,,,"Microsoft.PowerShell.Commands.Internal.Format. ...
"9e210fe47d09416682b841769c78b8a3",,,,,
"27c87ef9bbda4f709f6b4002fa4af63c",,,,,
"4ec4f0187cb04f4cb6973460dfe252df",,,,,
"cf522b78d86c486691226b40aa69e95c",,,,,

cmdlet은 Get-DateDateTime 개체를 가져옵니다. 개체가 파이프라인 아래로 cmdlet으로 Select-Object 전송됩니다. Select-Object 에서는 Property 매개 변수를 사용하여 개체 속성의 하위 집합을 선택합니다. 개체가 파이프라인 아래로 cmdlet으로 Export-Csv 전송됩니다. Export-Csv 는 개체를 CSV 형식으로 변환합니다. Path 매개 변수는 DateTime.csv 파일이 현재 디렉터리에 저장되도록 지정합니다. NoTypeInformation 매개 변수는 CSV 출력에서 #TYPE 정보 헤더를 제거하며 PowerShell 6에서는 필요하지 않습니다. cmdlet은 Get-ContentPath 매개 변수를 사용하여 현재 디렉터리에 있는 CSV 파일을 표시합니다.

Format-Table 파이프라인 내에서 cmdlet을 사용하여 속성을 선택하면 예기치 않은 결과가 수신됩니다. Format-Table 는 테이블 형식 개체를 파이프라인 Export-Csv 아래로 DateTime 개체가 아닌 cmdlet으로 보냅니다. Export-Csv 는 테이블 형식 개체를 일련의 CSV 문자열로 변환합니다. cmdlet은 Get-Content 테이블 형식 개체가 포함된 CSV 파일을 표시합니다.

예제 8: Force 매개 변수를 사용하여 읽기 전용 파일 덮어쓰기

다음은 빈 읽기 전용 파일을 만들고 Force 매개 변수를 사용하여 파일을 업데이트하는 예제입니다.

New-Item -Path .\ReadOnly.csv -ItemType File
Set-ItemProperty -Path .\ReadOnly.csv -Name IsReadOnly -Value $true
Get-Process | Export-Csv -Path .\ReadOnly.csv -NoTypeInformation

Export-Csv : Access to the path 'C:\ReadOnly.csv' is denied.
At line:1 char:15
+ Get-Process | Export-Csv -Path .\ReadOnly.csv -NoTypeInformation
+               ~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : OpenError: (:) [Export-Csv], UnauthorizedAccessException
+ FullyQualifiedErrorId : FileOpenFailure,Microsoft.PowerShell.Commands.ExportCsvCommand

Get-Process | Export-Csv -Path .\ReadOnly.csv -NoTypeInformation -Force
Get-Content -Path .\ReadOnly.csv

"Name";"SI";"Handles";"VM";"WS";"PM";"NPM";"Path";"Parent";"Company";"CPU";"FileVersion"; ...
"ApplicationFrameHost";"4";"509";"2203595321344";"34807808";"21770240";"29504"; ...

cmdlet은 New-ItemPathItemType 매개 변수를 사용하여 현재 디렉터리에 ReadOnly.csv 파일을 만듭니다. cmdlet은 Set-ItemPropertyNameValue 매개 변수를 사용하여 파일의 IsReadOnly 속성을 true로 변경합니다. cmdlet은 Get-ProcessProcess 개체를 가져옵니다. 프로세스 개체는 파이프라인을 cmdlet으로 Export-Csv 보냅니다. Export-Csv 는 프로세스 개체를 일련의 CSV 문자열로 변환합니다. Path 매개 변수는 ReadOnly.csv 파일이 현재 디렉터리에 저장되도록 지정합니다. NoTypeInformation 매개 변수는 CSV 출력에서 #TYPE 정보 헤더를 제거하며 PowerShell 6에서는 필요하지 않습니다. 출력은 액세스가 거부되어 파일이 기록되지 않음을 보여줍니다.

Force 매개 변수가 cmdlet에 Export-Csv 추가되어 내보내기를 강제로 파일에 씁니다. cmdlet은 Get-ContentPath 매개 변수를 사용하여 현재 디렉터리에 있는 파일을 표시합니다.

예제 9: 추가와 함께 Force 매개 변수 사용

이 예제에서는 ForceAppend 매개 변수를 사용하는 방법을 보여 줍니다. 이러한 매개 변수를 결합하면 일치하지 않는 개체 속성을 CSV 파일에 쓸 수 있습니다.

$Content = [PSCustomObject]@{Name = 'PowerShell Core'; Version = '6.0'}
$Content | Export-Csv -Path .\ParmFile.csv -NoTypeInformation
$AdditionalContent = [PSCustomObject]@{Name = 'Windows PowerShell'; Edition = 'Desktop'}
$AdditionalContent | Export-Csv -Path .\ParmFile.csv -NoTypeInformation -Append

Export-Csv : Cannot append CSV content to the following file: ParmFile.csv.
The appended object does not have a property that corresponds to the following column:
Version. To continue with mismatched properties, add the -Force parameter, and then retry
 the command.
At line:1 char:22
+ $AdditionalContent | Export-Csv -Path .\ParmFile.csv -NoTypeInformation -Append
+                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidData: (Version:String) [Export-Csv], InvalidOperationException
+ FullyQualifiedErrorId : CannotAppendCsvWithMismatchedPropertyNames,Microsoft.PowerShell. ...

$AdditionalContent | Export-Csv -Path .\ParmFile.csv -NoTypeInformation -Append -Force
Import-Csv -Path .\ParmFile.csv

Name               Version
----               -------
PowerShell Core    6.0
Windows PowerShell

식은 NameVersion 속성을 사용하여 PSCustomObject를 만듭니다. 값은 변수에 $Content 저장됩니다. 변수는 $Content 파이프라인 아래로 cmdlet으로 Export-Csv 전송됩니다. Export-Csv는 Path 매개 변수를 사용하고 현재 디렉터리에 ParmFile.csv 파일을 저장합니다. NoTypeInformation 매개 변수는 CSV 출력에서 #TYPE 정보 헤더를 제거하며 PowerShell 6에서는 필요하지 않습니다.

또 다른 식은 NameEdition 속성을 사용하여 PSCustomObject를 만듭니다. 값은 변수에 $AdditionalContent 저장됩니다. 변수는 $AdditionalContent 파이프라인 아래로 cmdlet으로 Export-Csv 전송됩니다. Append 매개 변수는 파일에 데이터를 추가하는 데 사용됩니다. VersionEdition 간에 속성 이름이 일치하지 않으므로 추가가 실패합니다.

Export-Csv cmdlet Force 매개 변수는 내보내기를 강제로 파일에 쓰는 데 사용됩니다. Edition 속성은 삭제됩니다. cmdlet은 Import-CsvPath 매개 변수를 사용하여 현재 디렉터리에 있는 파일을 표시합니다.

매개 변수

-Append

지정된 파일의 끝에 CSV 출력을 추가하도록 Export-CSV 이 매개 변수를 사용합니다. 이 매개 변수 Export-CSV 가 없으면 는 경고 없이 파일 내용을 바꿉니다.

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

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

-Delimiter

속성 값을 구분하는 구분 기호를 지정합니다. 기본값은 쉼표(,)입니다. 콜론(:)과 같은 문자를 입력합니다. 세미콜론(;)을 지정하려면 따옴표로 묶습니다.

Type:Char
Position:1
Default value:comma (,)
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Encoding

대상 파일의 인코딩 유형을 지정합니다. 기본값은 ASCII입니다.

이 매개 변수에 허용되는 값은 다음과 같습니다.

  • 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, Unicode, UTF7, UTF8, UTF32
Position:Named
Default value:ASCII
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

이 매개 변수를 Export-Csv 사용하면 읽기 전용 특성으로 파일을 덮어쓸 수 있습니다.

ForceAppend 매개 변수가 결합되면 일치하지 않는 속성을 포함하는 개체를 CSV 파일에 쓸 수 있습니다. 일치하는 속성만 파일에 기록됩니다. 일치하지 않는 속성은 삭제됩니다.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

CSV 문자열로 내보낼 개체를 지정합니다. 개체를 포함하는 변수를 입력하거나 개체를 가져오는 명령 또는 식을 입력하세요. 개체를 로 파이프할 Export-CSV수도 있습니다.

Type:PSObject
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-LiteralPath

CSV 출력 파일의 경로를 지정합니다. Path와 달리 LiteralPath 매개 변수 값은 입력한 대로 사용됩니다. 어떠한 문자도 와일드카드로 해석되지 않습니다. 경로에 이스케이프 문자가 포함된 경우 작은따옴표를 사용합니다. 작은따옴표는 PowerShell에 문자를 이스케이프 시퀀스로 해석하지 않도록 지시합니다.

Type:String
Aliases:PSPath
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-NoClobber

기존 파일을 덮어쓰지 않도록 Export-CSV 이 매개 변수를 사용합니다. 기본적으로 지정된 경로 Export-CSV 에 파일이 있는 경우 는 경고 없이 파일을 덮어씁니다.

Type:SwitchParameter
Aliases:NoOverwrite
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-NoTypeInformation

출력에서 #TYPE 정보 헤더를 제거합니다. 이 매개 변수는 PowerShell 6.0의 기본값이 되었으며 이전 버전과의 호환성을 위해 포함됩니다.

Type:SwitchParameter
Aliases:NTI
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

CSV 출력 파일을 저장할 위치를 지정하는 필수 매개 변수입니다.

Type:String
Position:0
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseCulture

현재 문화권의 목록 구분 기호를 항목 구분 기호로 사용합니다. 문화권의 목록 구분 기호를 찾으려면 명령을 (Get-Culture).TextInfo.ListSeparator사용합니다.

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

입력

PSObject

ETS(확장 형식 시스템) 어댑터를 사용하여 개체를 로 파이프할 Export-CSV수 있습니다.

출력

String

CSV 목록이 Path 매개 변수에 지정된 파일로 보내집니다.

참고

cmdlet은 Export-CSV 제출하는 개체를 일련의 CSV 문자열로 변환하고 지정된 텍스트 파일에 저장합니다. 를 사용하여 Export-CSV CSV 파일에 개체를 저장한 다음 cmdlet을 Import-Csv 사용하여 CSV 파일에서 개체를 만들 수 있습니다.

CSV 파일에서 각 개체는 쉼표로 구분된 개체 속성 값 목록으로 표시됩니다. 속성 값은 ToString() 메서드를 사용하여 문자열로 변환됩니다. 문자열은 속성 값 이름으로 표시됩니다. 'Export-CSV는 개체의 메서드를 내보내지 않습니다.

CSV 문자열은 다음과 같이 출력됩니다.

  • 기본적으로 첫 번째 문자열에는 #TYPE 정보 헤더와 개체 형식의 정규화된 이름이 포함됩니다. 예를 들어 System.Diagnostics.Process를 #TYPE.
  • NoTypeInformation을 사용하는 경우 첫 번째 문자열에는 열 머리글이 포함됩니다. 헤더에는 첫 번째 개체의 속성 이름이 쉼표로 구분된 목록으로 포함됩니다.
  • 나머지 문자열에는 각 개체의 속성 값에 대한 쉼표로 구분된 목록이 포함됩니다.

에 여러 개체를 Export-CSVExport-CSV 제출할 때 제출하는 첫 번째 개체의 속성에 따라 파일을 구성합니다. 나머지 개체에 지정된 속성 중 하나가 없는 경우 해당 개체의 속성 값은 null이며, 두 개의 연속된 쉼표로 표시됩니다. 나머지 개체에 추가 속성이 있을 경우 이러한 속성 값은 파일에 포함되지 않습니다.

cmdlet을 사용하여 파일의 Import-Csv CSV 문자열에서 개체를 다시 만들 수 있습니다. 결과 개체는 속성 값(메서드는 포함 안 됨)의 문자열 표시로 이루어진 원래 개체의 CSV 버전입니다.

ConvertFrom-Csv cmdlet은 ConvertTo-Csv 개체를 CSV 문자열로 변환하고 CSV 문자열에서 변환합니다. Export-CSV 는 파일에서 ConvertTo-CSVCSV 문자열을 저장한다는 점을 제외하고 와 동일합니다.