Export-Csv

Mengonversi objek menjadi serangkaian string nilai yang dipisahkan koma (CSV) dan menyimpan string ke file.

Sintaks

Export-Csv
      -InputObject <PSObject>
      [[-Path] <String>]
      [-LiteralPath <String>]
      [-Force]
      [-NoClobber]
      [-Encoding <Encoding>]
      [-Append]
      [[-Delimiter] <Char>]
      [-IncludeTypeInformation]
      [-NoTypeInformation]
      [-QuoteFields <String[]>]
      [-UseQuotes <QuoteKind>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Export-Csv
      -InputObject <PSObject>
      [[-Path] <String>]
      [-LiteralPath <String>]
      [-Force]
      [-NoClobber]
      [-Encoding <Encoding>]
      [-Append]
      [-UseCulture]
      [-IncludeTypeInformation]
      [-NoTypeInformation]
      [-QuoteFields <String[]>]
      [-UseQuotes <QuoteKind>]
      [-WhatIf]
      [-Confirm] 
      [<CommonParameters>]

Deskripsi

Export-CSV Cmdlet membuat file CSV dari objek yang Anda kirimkan. Setiap objek adalah baris yang menyertakan daftar nilai properti objek yang dipisahkan koma. Anda dapat menggunakan Export-CSV cmdlet untuk membuat spreadsheet dan berbagi data dengan program yang menerima file CSV sebagai input.

Jangan format objek sebelum mengirimkannya ke Export-CSV cmdlet. Jika Export-CSV menerima objek yang diformat, file CSV berisi properti format daripada properti objek. Untuk mengekspor hanya properti objek yang dipilih, gunakan Select-Object cmdlet .

Contoh

Contoh 1: Mengekspor properti proses ke file CSV

Contoh ini memilih Objek proses dengan properti tertentu, mengekspor objek ke file 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

Get-Process Cmdlet mendapatkan objek Proses. Parameter Nama memfilter output untuk hanya menyertakan objek proses WmiPrvSE. Objek proses dikirim ke alur ke Select-Object cmdlet . Select-Object menggunakan parameter Properti untuk memilih subset properti objek proses. Objek proses dikirim ke alur ke Export-Csv cmdlet . Export-Csv mengonversi objek proses menjadi serangkaian string CSV. Parameter Jalur menentukan bahwa file WmiData.csv disimpan di direktori saat ini. Parameter NoTypeInformation menghapus header informasi #TYPE dari output CSV dan tidak diperlukan di PowerShell 6. Import-Csv Cmdlet menggunakan parameter Jalur untuk menampilkan file yang terletak di direktori saat ini.

Contoh 2: Mengekspor proses ke file yang dibatasi koma

Contoh ini mendapatkan objek Proses dan mengekspor objek ke file 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-Process mendapatkan objek Proses . Objek proses dikirim ke alur ke Export-Csv cmdlet . Export-Csv mengonversi objek proses menjadi serangkaian string CSV. Parameter Jalur menentukan bahwa file Processes.csv disimpan di direktori saat ini. Parameter NoTypeInformation menghapus header informasi #TYPE dari output CSV dan tidak diperlukan di PowerShell 6. Get-Content Cmdlet menggunakan parameter Jalur untuk menampilkan file yang terletak di direktori saat ini.

Contoh 3: Mengekspor proses ke file yang dibatasi titik koma

Contoh ini mendapatkan objek Proses dan mengekspor objek ke file dengan pemisah titik koma.

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-Process mendapatkan objek Proses . Objek proses dikirim ke alur ke Export-Csv cmdlet . Export-Csv mengonversi objek proses menjadi serangkaian string CSV. Parameter Jalur menentukan bahwa file Processes.csv disimpan di direktori saat ini. Parameter Pemisah menentukan titik koma untuk memisahkan nilai string. Parameter NoTypeInformation menghapus header informasi #TYPE dari output CSV dan tidak diperlukan di PowerShell 6. Get-Content Cmdlet menggunakan parameter Jalur untuk menampilkan file yang terletak di direktori saat ini.

Contoh 4: Proses ekspor menggunakan pemisah daftar budaya saat ini

Contoh ini mendapatkan objek Proses dan mengekspor objek ke file. Pemisah adalah pemisah daftar budaya saat ini.

(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-Culture menggunakan properti berlapis TextInfo dan ListSeparator dan menampilkan pemisah daftar default budaya saat ini. Cmdlet Get-Process mendapatkan objek Proses . Objek proses dikirim ke alur ke Export-Csv cmdlet . Export-Csv mengonversi objek proses menjadi serangkaian string CSV. Parameter Jalur menentukan bahwa file Processes.csv disimpan di direktori saat ini. Parameter UseCulture menggunakan pemisah daftar default budaya saat ini sebagai pemisah. Parameter NoTypeInformation menghapus header informasi #TYPE dari output CSV dan tidak diperlukan di PowerShell 6. Get-Content Cmdlet menggunakan parameter Jalur untuk menampilkan file yang terletak di direktori saat ini.

Contoh 5: Mengekspor proses dengan informasi jenis

Contoh ini menjelaskan cara menyertakan informasi header #TYPE dalam file CSV. Header #TYPE adalah default dalam versi sebelum PowerShell 6.0.

Get-Process | Export-Csv -Path .\Processes.csv -IncludeTypeInformation
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-Process mendapatkan objek Proses . Objek proses dikirim ke alur ke Export-Csv cmdlet . Export-Csv mengonversi objek proses menjadi serangkaian string CSV. Parameter Jalur menentukan bahwa file Processes.csv disimpan di direktori saat ini. IncludeTypeInformation menyertakan header informasi #TYPE dalam output CSV. Get-Content Cmdlet menggunakan parameter Jalur untuk menampilkan file yang terletak di direktori saat ini.

Contoh 6: Mengekspor dan menambahkan objek ke file CSV

Contoh ini menjelaskan cara mengekspor objek ke file CSV dan menggunakan parameter Tambahkan untuk menambahkan objek ke file yang ada.

$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"

Get-Service Cmdlet mendapatkan objek layanan. Parameter DisplayName mengembalikan layanan yang berisi kata Aplikasi. Objek layanan dikirim ke alur ke Select-Object cmdlet . Select-Object menggunakan parameter Properti untuk menentukan properti DisplayName dan Status . Variabel $AppService menyimpan objek.

Objek $AppService dikirim ke alur ke Export-Csv cmdlet . Export-Csv mengonversi objek layanan menjadi serangkaian string CSV. Parameter Jalur menentukan bahwa file Services.csv disimpan di direktori saat ini. Parameter NoTypeInformation menghapus header informasi #TYPE dari output CSV dan tidak diperlukan di PowerShell 6. Get-Content Cmdlet menggunakan parameter Jalur untuk menampilkan file yang terletak di direktori saat ini.

Get-Service cmdlet dan Select-Object diulang untuk layanan yang berisi kata Windows. Variabel $WinService menyimpan objek layanan. Export-Csv Cmdlet menggunakan parameter Tambahkan untuk menentukan bahwa $WinService objek ditambahkan ke file Services.csv yang ada. Get-Content Cmdlet diulang untuk menampilkan file yang diperbarui yang menyertakan data yang ditambahkan.

Contoh 7: Format cmdlet dalam alur membuat hasil yang tidak terduga

Contoh ini menunjukkan mengapa penting untuk tidak menggunakan cmdlet format dalam alur. Ketika output yang tidak terduga diterima, pecahkan masalah sintaks alur.

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-Date mendapatkan objek DateTime . Objek dikirim ke alur ke Select-Object cmdlet . Select-Object menggunakan parameter Properti untuk memilih subset properti objek. Objek dikirim ke alur ke Export-Csv cmdlet . Export-Csv mengonversi objek ke format CSV. Parameter Jalur menentukan bahwa file DateTime.csv disimpan di direktori saat ini. Parameter NoTypeInformation menghapus header informasi #TYPE dari output CSV dan tidak diperlukan di PowerShell 6. Get-Content Cmdlet menggunakan parameter Path untuk menampilkan file CSV yang terletak di direktori saat ini.

Format-Table Ketika cmdlet digunakan dalam alur untuk memilih properti hasil yang tidak terduga diterima. Format-Table mengirim objek format tabel ke bawah alur ke Export-Csv cmdlet daripada objek DateTime . Export-Csv mengonversi objek format tabel menjadi serangkaian string CSV. Get-Content Cmdlet menampilkan file CSV yang berisi objek format tabel.

Contoh 8: Menggunakan parameter Paksa untuk menimpa file baca-saja

Contoh ini membuat file baca-saja yang kosong dan menggunakan parameter Paksa untuk memperbarui file.

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-Item menggunakan parameter Path dan ItemType untuk membuat file ReadOnly.csv di direktori saat ini. Set-ItemProperty Cmdlet menggunakan parameter Nama dan Nilai untuk mengubah properti IsReadOnly file menjadi true. Cmdlet Get-Process mendapatkan objek Proses . Objek proses dikirim ke alur ke Export-Csv cmdlet . Export-Csv mengonversi objek proses menjadi serangkaian string CSV. Parameter Jalur menentukan bahwa file ReadOnly.csv disimpan di direktori saat ini. Parameter NoTypeInformation menghapus header informasi #TYPE dari output CSV dan tidak diperlukan di PowerShell 6. Output menunjukkan bahwa file tidak ditulis karena akses ditolak.

Parameter Paksa ditambahkan ke Export-Csv cmdlet untuk memaksa ekspor menulis ke file. Get-Content Cmdlet menggunakan parameter Jalur untuk menampilkan file yang terletak di direktori saat ini.

Contoh 9: Menggunakan parameter Paksa dengan Tambahkan

Contoh ini menunjukkan cara menggunakan parameter Paksa dan Tambahkan . Ketika parameter ini digabungkan, properti objek yang tidak cocok dapat ditulis ke file CSV.

$Content = [PSCustomObject]@{Name = 'PowerShell'; Version = '7.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         7.0
Windows PowerShell

Ekspresi membuat PSCustomObject dengan properti Nama dan Versi . Nilai disimpan dalam $Content variabel . Variabel $Content dikirim ke alur ke Export-Csv cmdlet . Export-Csv menggunakan parameter Jalur dan menyimpan file ParmFile.csv di direktori saat ini. Parameter NoTypeInformation menghapus header informasi #TYPE dari output CSV dan tidak diperlukan di PowerShell 6.

Ekspresi lain membuat PSCustomObject dengan properti Nama dan Edisi . Nilai disimpan dalam $AdditionalContent variabel . Variabel $AdditionalContent dikirim ke alur ke Export-Csv cmdlet . Parameter Tambahkan digunakan untuk menambahkan data ke file. Penambah gagal karena ada ketidakcocokan nama properti antara Versi dan Edisi.

Parameter Export-CsvCmdlet Force digunakan untuk memaksa ekspor menulis ke file. Properti Edisi dibuang. Import-Csv Cmdlet menggunakan parameter Jalur untuk menampilkan file yang terletak di direktori saat ini.

Contoh 10: Ekspor ke CSV dengan tanda kutip di sekitar dua kolom

Contoh ini mengonversi objek DateTime menjadi string CSV.

Get-Date | Export-Csv  -QuoteFields "DateTime","Date" -Path .\FTDateTime.csv
Get-Content -Path .\FTDateTime.csv

DisplayHint,"DateTime","Date",Day,DayOfWeek,DayOfYear,Hour,Kind,Millisecond,Minute,Month,Second,Ticks,TimeOfDay,Year
DateTime,"Thursday, August 22, 2019 11:27:34 AM","8/22/2019 12:00:00 AM",22,Thursday,234,11,Local,569,27,8,34,637020700545699784,11:27:34.5699784,2019

Contoh 11: Ekspor ke CSV dengan tanda kutip hanya jika diperlukan

Contoh ini mengonversi objek DateTime menjadi string CSV.

Get-Date | Export-Csv  -UseQuotes AsNeeded -Path .\FTDateTime.csv
Get-Content -Path .\FTDateTime.csv

DisplayHint,DateTime,Date,Day,DayOfWeek,DayOfYear,Hour,Kind,Millisecond,Minute,Month,Second,Ticks,TimeOfDay,Year
DateTime,"Thursday, August 22, 2019 11:31:00 AM",8/22/2019 12:00:00 AM,22,Thursday,234,11,Local,713,31,8,0,637020702607132640,11:31:00.7132640,2019

Contoh 12: Mengonversi hashtable ke CSV

Di PowerShell 7.2 ke atas, saat Anda mengekspor hashtable ke CSV, kunci hashtable pertama diserialisasikan dan digunakan sebagai header dalam output file csv.

$person1 = @{
    Name = 'John Smith'
    Number = 1
}

$person2 = @{
    Name = 'Jane Smith'
    Number = 1
}

$allPeople = $person1, $person2
$allPeople | Export-Csv -Path .\People.csv

Get-Content -Path .\People.csv

"Name","Number"
"John Smith","1"
"Jane Smith","2"

Contoh 13: Mengonversi hashtable ke CSV dengan properti tambahan

Di PowerShell 7.2 ke atas, saat Anda mengekspor hashtable yang memiliki properti tambahan yang ditambahkan dengan Add-Member atau Select-Object properti tambahan juga ditambahkan sebagai header dalam file CSV.

$allPeople | Add-Member -Name ExtraProp -Value 42
$allPeople | Export-Csv

Get-Content -Path .\People.csv -Path .\People.csv

"Name","Number","ExtraProp"
"John Smith","1","42"
"Jane Smith","2","42"

Setiap hashtable memiliki properti bernama ExtraProp ditambahkan oleh Add-Member dan kemudian diekspor ke CSV. Anda dapat melihat ExtraProp sekarang menjadi header dalam output file CSV.

Jika properti yang ditambahkan memiliki nama yang sama dengan kunci dari hashtable, kunci diutamakan dan hanya kunci yang diekspor ke CSV.

Parameter

-Append

Gunakan parameter ini sehingga Export-CSV menambahkan output CSV ke akhir file yang ditentukan. Tanpa parameter ini, Export-CSV menggantikan konten file tanpa peringatan.

Parameter ini diperkenalkan dalam Windows PowerShell 3.0.

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

-Confirm

Meminta Anda mengonfirmasi sebelum menjalankan cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

-Delimiter

Menentukan pemisah untuk memisahkan nilai properti. Defaultnya adalah koma (,). Masukkan karakter, seperti titik dua (:). Untuk menentukan titik koma (;), sertakan dalam tanda kutip.

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

-Encoding

Menentukan pengodean untuk file CSV yang diekspor. Nilai defaultnya adalah utf8NoBOM.

Nilai yang dapat diterima untuk parameter ini adalah sebagai berikut:

  • ascii: Menggunakan pengodean untuk set karakter ASCII (7-bit).
  • bigendianunicode: Mengodekan dalam format UTF-16 menggunakan urutan byte big-endian.
  • bigendianutf32: Mengodekan dalam format UTF-32 menggunakan urutan byte big-endian.
  • oem: Menggunakan pengodean default untuk MS-DOS dan program konsol.
  • unicode: Mengodekan dalam format UTF-16 menggunakan urutan byte little-endian.
  • utf7: Mengodekan dalam format UTF-7.
  • utf8: Mengodekan dalam format UTF-8.
  • utf8BOM: Mengodekan dalam format UTF-8 dengan Tanda Urutan Byte (BOM)
  • utf8NoBOM: Mengodekan dalam format UTF-8 tanpa Tanda Urutan Byte (BOM)
  • utf32: Mengodekan dalam format UTF-32.

Dimulai dengan PowerShell 6.2, parameter Pengodean juga memungkinkan ID numerik halaman kode terdaftar (seperti -Encoding 1251) atau nama string halaman kode terdaftar (seperti -Encoding "windows-1251"). Untuk informasi selengkapnya, lihat dokumentasi .NET untuk Encoding.CodePage.

Catatan

UTF-7* tidak lagi disarankan untuk digunakan. Pada PowerShell 7.1, peringatan ditulis jika Anda menentukan utf7 untuk parameter Pengodean .

Type:Encoding
Accepted values:ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32
Position:Named
Default value:UTF8NoBOM
Accept pipeline input:False
Accept wildcard characters:False

-Force

Parameter ini memungkinkan Export-Csv untuk menimpa file dengan atribut Baca Saja .

Saat parameter Paksa dan Tambahkan digabungkan, objek yang berisi properti yang tidak cocok dapat ditulis ke file CSV. Hanya properti yang cocok yang ditulis ke file. Properti yang tidak cocok dibuang.

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

-IncludeTypeInformation

Ketika parameter ini digunakan baris pertama dari output CSV berisi #TYPE diikuti dengan nama yang sepenuhnya memenuhi syarat dari jenis objek. Misalnya, #TYPE System.Diagnostics.Process.

Parameter ini diperkenalkan di PowerShell 6.0.

Type:SwitchParameter
Aliases:ITI
Position:Named
Default value:#TYPE <Object>
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Menentukan objek yang akan diekspor sebagai string CSV. Masukkan variabel yang berisi objek atau ketik perintah atau ekspresi yang mendapatkan objek. Anda juga dapat menyalurkan objek ke Export-CSV.

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

-LiteralPath

Menentukan jalur ke file output CSV. Tidak seperti Path, nilai parameter LiteralPath digunakan persis seperti yang ditik. Tidak ada karakter yang ditafsirkan sebagai kartubebas. Jika jalur menyertakan karakter escape, gunakan tanda kutip tunggal. Tanda kutip tunggal memberi tahu PowerShell untuk tidak menginterpretasikan karakter apa pun sebagai urutan escape.

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

-NoClobber

Gunakan parameter ini agar Export-CSV tidak menimpa file yang ada. Secara default, jika file ada di jalur yang ditentukan, Export-CSV timpa file tanpa peringatan.

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

-NoTypeInformation

Menghapus header informasi #TYPE dari output. Parameter ini menjadi default di PowerShell 6.0 dan disertakan untuk kompatibilitas mundur.

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

-Path

Parameter yang diperlukan yang menentukan lokasi untuk menyimpan file output CSV.

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

-QuoteFields

Menentukan nama kolom yang harus dikutip. Ketika parameter ini digunakan, hanya kolom yang ditentukan yang dikutip. Parameter ini ditambahkan di PowerShell 7.0.

Type:String[]
Aliases:QF
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-UseCulture

Menggunakan pemisah daftar untuk budaya saat ini sebagai pemisah item. Untuk menemukan pemisah daftar untuk budaya, gunakan perintah berikut: (Get-Culture).TextInfo.ListSeparator.

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

-UseQuotes

Menentukan kapan tanda kutip digunakan dalam file CSV. Potensi nilai:

  • Never - jangan kutip apa-apa
  • Selalu - kutip semuanya (perilaku default)
  • AsNeeded - hanya bidang kutipan yang berisi karakter pemisah, tanda kutip ganda, atau karakter baris baru

Parameter ini ditambahkan di PowerShell 7.0.

Type:Microsoft.PowerShell.Commands.BaseCsvWritingCommand+QuoteKind
Aliases:UQ
Position:Named
Default value:Always
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Mencegah cmdlet diproses atau membuat perubahan. Output menunjukkan apa yang akan terjadi jika cmdlet dijalankan.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

Input

PSObject

Anda dapat menyalurkan objek apa pun dengan adaptor Extended Type System (ETS) ke Export-CSV.

Output

String

Daftar CSV dikirim ke file yang ditunjuk dalam parameter Jalur.

Catatan

Export-CSV Cmdlet mengonversi objek yang Anda kirimkan menjadi serangkaian string CSV dan menyimpannya dalam file teks yang ditentukan. Anda dapat menggunakan Export-CSV -IncludeTypeInformation untuk menyimpan objek dalam file CSV lalu menggunakan Import-Csv cmdlet untuk membuat objek dari teks dalam file CSV.

Dalam file CSV, setiap objek diwakili oleh daftar nilai properti objek yang dipisahkan koma. Nilai properti dikonversi ke string menggunakan metode ToString(). String diwakili oleh nama nilai properti. Export-CSV -IncludeTypeInformation tidak mengekspor metode objek.

String CSV adalah output sebagai berikut:

  • Jika IncludeTypeInformation digunakan, string pertama berisi header informasi #TYPE diikuti dengan nama tipe objek yang sepenuhnya memenuhi syarat. Misalnya, #TYPE System.Diagnostics.Process.
  • Jika IncludeTypeInformation tidak digunakan, string pertama menyertakan header kolom. Header berisi nama properti objek pertama sebagai daftar yang dipisahkan koma.
  • String yang tersisa berisi daftar nilai properti setiap objek yang dipisahkan koma.

Dimulai dengan PowerShell 6.0 perilaku Export-CSV default adalah tidak menyertakan informasi #TYPE dalam CSV dan NoTypeInformation tersirat. IncludeTypeInformation dapat digunakan untuk menyertakan Informasi #TYPE dan meniru perilaku Export-CSV default sebelum PowerShell 6.0.

Saat Anda mengirimkan beberapa objek ke Export-CSV, Export-CSV mengatur file berdasarkan properti objek pertama yang Anda kirimkan. Jika objek yang tersisa tidak memiliki salah satu properti yang ditentukan, nilai properti objek tersebut null, seperti yang diwakili oleh dua koma berturut-turut. Jika objek yang tersisa memiliki properti tambahan, nilai properti tersebut tidak disertakan dalam file .

Anda dapat menggunakan Import-Csv cmdlet untuk membuat ulang objek dari string CSV dalam file. Objek yang dihasilkan adalah versi CSV dari objek asli yang terdiri dari representasi string dari nilai properti dan tanpa metode.

ConvertTo-Csv Cmdlet dan ConvertFrom-Csv mengonversi objek menjadi string CSV dan dari string CSV. Export-CSV sama dengan ConvertTo-CSV, kecuali bahwa ia menyimpan string CSV dalam file.