Export-Csv

Mengonversi objek menjadi serangkaian string nilai yang dipisahkan karakter (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 objek yang Anda kirimkan. Setiap objek adalah baris yang menyertakan daftar nilai properti objek yang dipisahkan karakter. 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 berformat, 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 Memproses objek 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 dikirimkan alur ke Select-Object cmdlet. Select-Objectmenggunakan parameter Properti untuk memilih subset properti objek proses. Objek proses dikirimkan alur ke Export-Csv cmdlet. Export-Csv mengonversi objek proses menjadi serangkaian string CSV. Parameter Jalur menentukan bahwa WmiData.csv file 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", ...

Get-Process Cmdlet mendapatkan objek Proses. Objek proses dikirimkan alur ke Export-Csv cmdlet. Export-Csv mengonversi objek proses menjadi serangkaian string CSV. Parameter Jalur menentukan bahwa Processes.csv file 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"; ...

Get-Process Cmdlet mendapatkan objek Proses. Objek proses dikirimkan alur ke Export-Csv cmdlet. Export-Csv mengonversi objek proses menjadi serangkaian string CSV. Parameter Jalur menentukan bahwa Processes.csv file 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", ...

Get-Culture Cmdlet menggunakan properti berlapis TextInfo dan ListSeparator dan menampilkan pemisah daftar default budaya saat ini. Get-Process Cmdlet mendapatkan objek Proses. Objek proses dikirimkan alur ke Export-Csv cmdlet. Export-Csv mengonversi objek proses menjadi serangkaian string CSV. Parameter Jalur menentukan bahwa Processes.csv file 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: Ekspor 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", ...

Get-Process Cmdlet mendapatkan objek Proses. Objek proses dikirimkan alur ke Export-Csv cmdlet. Export-Csv mengonversi objek proses menjadi serangkaian string CSV. Parameter Jalur menentukan bahwa Processes.csv file 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 dikirimkan alur ke Select-Object cmdlet. Select-Objectmenggunakan parameter Properti untuk menentukan properti DisplayName dan Status. Variabel $AppService menyimpan objek.

Objek $AppService dikirimkan alur ke Export-Csv cmdlet. Export-Csv mengonversi objek layanan menjadi serangkaian string CSV. Parameter Jalur menentukan bahwa Services.csv file 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 yang adaServices.csv. 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",,,,,

Get-Date Cmdlet mendapatkan objek DateTime. Objek dikirimkan alur ke Select-Object cmdlet. Select-Objectmenggunakan parameter Properti untuk memilih subset properti objek. Objek dikirimkan alur ke Export-Csv cmdlet. Export-Csv mengonversi objek ke format CSV. Parameter Jalur menentukan bahwa DateTime.csv file 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 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 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"; ...

New-Item Cmdlet menggunakan parameter Path dan ItemType untuk membuat ReadOnly.csv file di direktori saat ini. Set-ItemProperty Cmdlet menggunakan parameter Nama dan Nilai untuk mengubah properti IsReadOnly file menjadi true. Get-Process Cmdlet mendapatkan objek Proses. Objek proses dikirimkan alur ke Export-Csv cmdlet. Export-Csv mengonversi objek proses menjadi serangkaian string CSV. Parameter Jalur menentukan bahwa ReadOnly.csv file 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 dikirimkan alur ke Export-Csv cmdlet. Export-Csvmenggunakan parameter Jalur dan menyimpan ParmFile.csv file 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 dikirimkan 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-Csv cmdlet 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 hanya dengan tanda kutip saat 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 -MemberType NoteProperty
$allPeople | Export-Csv -Path .\People.csv

Get-Content -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 di Windows PowerShell 3.0.

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

-Confirm

Meminta Anda mengonfirmasi sebelum menjalankan cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required: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 (,)
Required:False
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 Byte Order Mark (BOM)
  • utf8NoBOM: Mengodekan dalam format UTF-8 tanpa Byte Order Mark (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
Required:False
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:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IncludeTypeInformation

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

Parameter ini diperkenalkan di PowerShell 6.0.

Type:SwitchParameter
Aliases:ITI
Position:Named
Default value:False
Required:False
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
Required:True
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
Required:False
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:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-NoTypeInformation

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

Type:SwitchParameter
Aliases:NTI
Position:Named
Default value:False
Required:False
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
Required:False
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
Required:False
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:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseQuotes

Menentukan kapan tanda kutip digunakan dalam file CSV. Kemungkinan nilai adalah:

  • Jangan pernah - jangan kutip apa-apa
  • Always - 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
Required:False
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
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Input

PSObject

Anda dapat menyalurkan objek apa pun dengan adaptor Extended Type System (ETS) ke cmdlet ini.

Output

None

Cmdlet ini tidak mengembalikan output.

Catatan

PowerShell menyertakan alias berikut untuk Export-Csv:

  • Semua platform:
    • epcsv

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 karakter. 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 karakter.
  • String yang tersisa berisi daftar yang dipisahkan karakter dari setiap nilai properti objek.

Dimulai dengan PowerShell 6.0 perilaku Export-CSV default adalah untuk 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.