Bagikan melalui


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>]
      [-NoHeader]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Export-Csv
      -InputObject <PSObject>
      [[-Path] <String>]
      [-LiteralPath <String>]
      [-Force]
      [-NoClobber]
      [-Encoding <Encoding>]
      [-Append]
      [-UseCulture]
      [-IncludeTypeInformation]
      [-NoTypeInformation]
      [-QuoteFields <String[]>]
      [-UseQuotes <QuoteKind>]
      [-NoHeader]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Deskripsi

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

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

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

Cmdlet Get-Process mendapatkan objek Proses. Parameter Nama memfilter output untuk hanya menyertakan objek proses WmiPrvSE. Objek proses dikirimkan alur ke cmdlet Select-Object. Select-Object menggunakan parameter Properti untuk memilih subset properti objek proses. Objek proses dikirimkan alur ke cmdlet Export-Csv. 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. Cmdlet Import-Csv menggunakan parameter Jalur untuk menampilkan file yang terletak di direktori saat ini.

Contoh 2: Mengekspor proses ke file yang dibatasi koma

Contoh ini mendapatkan Memproses objek 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 dikirimkan alur ke cmdlet Export-Csv. 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. Cmdlet Get-Content 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 Memproses objek 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 dikirimkan alur ke cmdlet Export-Csv. 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. Cmdlet Get-Content 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 Memproses objek 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 dikirimkan alur ke cmdlet Export-Csv. 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. Cmdlet Get-Content 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", ...

Cmdlet Get-Process mendapatkan objek Proses. Objek proses dikirimkan alur ke cmdlet Export-Csv. 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. Cmdlet Get-Content 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"

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

Objek $AppService dikirimkan alur ke cmdlet Export-Csv. 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. Cmdlet Get-Content menggunakan parameter Jalur untuk menampilkan file yang terletak di direktori saat ini.

Cmdlet Get-Service dan Select-Object diulang untuk layanan yang berisi kata Windows. Variabel $WinService menyimpan objek layanan. Cmdlet Export-Csv menggunakan parameter Tambahkan untuk menentukan bahwa objek $WinService ditambahkan ke file Services.csv yang ada. Cmdlet Get-Content 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 dikirimkan alur ke cmdlet Select-Object. Select-Object menggunakan parameter Properti untuk memilih subset properti objek. Objek dikirimkan alur ke cmdlet Export-Csv. 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. Cmdlet Get-Content menggunakan parameter Jalur untuk menampilkan file CSV yang terletak di direktori saat ini.

Ketika cmdlet Format-Table digunakan dalam alur untuk memilih properti hasil yang tidak terduga diterima. Format-Table mengirim objek format tabel ke bawah alur ke cmdlet Export-Csv daripada objek DateTime. Export-Csv mengonversi objek format tabel menjadi serangkaian string CSV. Cmdlet Get-Content 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 Force 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 Jalur dan ItemType untuk membuat file ReadOnly.csv di direktori saat ini. Cmdlet Set-ItemProperty menggunakan Nama dan parameter Nilai untuk mengubah properti IsReadOnly file menjadi true. Cmdlet Get-Process mendapatkan objek Proses. Objek proses dikirimkan alur ke cmdlet Export-Csv. 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 Force ditambahkan ke cmdlet Export-Csv untuk memaksa ekspor menulis ke file. Cmdlet Get-Content 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 Force 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 Nama dan properti Versi. Nilai disimpan dalam variabel $Content. Variabel $Content dikirimkan alur ke cmdlet Export-Csv. 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 Nama dan properti Edisi. Nilai disimpan dalam variabel $AdditionalContent. Variabel $AdditionalContent dikirimkan alur ke cmdlet Export-Csv. Parameter Tambahkan digunakan untuk menambahkan data ke file. Penambah gagal karena ada ketidakcocokan nama properti antara Versi dan Edisi.

Cmdlet Export-Csvparameter Force digunakan untuk memaksa ekspor menulis ke file. Properti Edisi dibuang. Cmdlet Import-Csv 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 = 2
}

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

Jenis:SwitchParameter
Position:Named
Nilai default:False
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-Confirm

Meminta konfirmasi sebelum menjalankan cmdlet.

Jenis:SwitchParameter
Alias:cf
Position:Named
Nilai default:False
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-Delimiter

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

Jenis:Char
Position:1
Nilai default:comma (,)
Diperlukan:False
Terima input alur:False
Terima karakter wildcard: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).
  • ansi: Menggunakan pengodean untuk halaman kode ANSI budaya saat ini. Opsi ini ditambahkan
  • 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 program MS-DOS dan 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.

Dimulai dengan PowerShell 7.4, Anda dapat menggunakan nilai Ansi untuk parameter Pengodean untuk meneruskan ID numerik untuk halaman kode ANSI budaya saat ini tanpa harus menentukannya secara manual.

Nota

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

Jenis:Encoding
Nilai yang diterima:ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32
Position:Named
Nilai default:UTF8NoBOM
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-Force

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

Saat parameter Force 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.

Jenis:SwitchParameter
Position:Named
Nilai default:False
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-IncludeTypeInformation

Ketika parameter ini digunakan baris pertama 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.

Jenis:SwitchParameter
Alias:ITI
Position:Named
Nilai default:False
Diperlukan:False
Terima input alur:False
Terima karakter wildcard: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.

Jenis:PSObject
Position:Named
Nilai default:None
Diperlukan:True
Terima input alur:True
Terima karakter wildcard:False

-LiteralPath

Menentukan jalur ke file output CSV. Tidak seperti Jalur, nilai parameter LiteralPath digunakan persis seperti yang diketik. 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.

Jenis:String
Alias:PSPath, LP
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-NoClobber

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

Jenis:SwitchParameter
Alias:NoOverwrite
Position:Named
Nilai default:False
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-NoHeader

Saat parameter ini digunakan, cmdlet tidak menulis baris header yang berisi nama kolom ke output.

Parameter ini ditambahkan di PowerShell 7.4.

Jenis:SwitchParameter
Position:Named
Nilai default:False
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-NoTypeInformation

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

Jenis:SwitchParameter
Alias:NTI
Position:Named
Nilai default:False
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-Path

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

Jenis:String
Position:0
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard: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.

Jenis:String[]
Alias:QF
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard: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.

Jenis:SwitchParameter
Position:Named
Nilai default:False
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-UseQuotes

Menentukan kapan tanda kutip digunakan dalam file CSV. Nilai yang mungkin 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.

Jenis:Microsoft.PowerShell.Commands.BaseCsvWritingCommand+QuoteKind
Alias:UQ
Position:Named
Nilai default:Always
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-WhatIf

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

Jenis:SwitchParameter
Alias:wi
Position:Named
Nilai default:False
Diperlukan:False
Terima input alur:False
Terima karakter wildcard: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

cmdlet Export-Csv 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 cmdlet Import-Csv 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 default Export-Csv adalah tidak menyertakan informasi #TYPE dalam CSV dan NoTypeInformation tersirat. IncludeTypeInformation dapat digunakan untuk menyertakan Informasi #TYPE dan meniru perilaku default Export-Csv 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 cmdlet Import-Csv 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.

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