Aracılığıyla paylaş


Export-Csv

Nesneleri karakterle ayrılmış değer (CSV) dizeleri dizisine dönüştürür ve dizeleri bir dosyaya kaydeder.

Sözdizimi

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>]

Description

Export-Csv cmdlet'i gönderdiğiniz nesnelerin CSV dosyasını oluşturur. Her nesne, nesnenin özellik değerlerinin karakterle ayrılmış listesini içeren bir satırdır. Export-Csv cmdlet'ini kullanarak elektronik tablolar oluşturabilir ve csv dosyalarını giriş olarak kabul eden programlarla veri paylaşabilirsiniz.

Nesneleri Export-Csv cmdlet'ine göndermeden önce biçimlendirmeyin. Export-Csv biçimlendirilmiş nesneler alırsa, CSV dosyası nesne özellikleri yerine biçim özelliklerini içerir. Bir nesnenin yalnızca seçili özelliklerini dışarı aktarmak için Select-Object cmdlet'ini kullanın.

Örnekler

Örnek 1: İşlem özelliklerini CSV dosyasına aktarma

Bu örnek, belirli özelliklere sahip nesneleri İşle'yi seçer, nesneleri csv dosyasına aktarır.

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'i İşlem nesnelerini alır. Adı parametresi çıkışı yalnızca WmiPrvSE işlem nesnelerini içerecek şekilde filtreler. İşlem nesneleri işlem hattına Select-Object cmdlet'ine gönderilir. Select-Object, işlem nesnesi özelliklerinin bir alt kümesini seçmek için Özelliği parametresini kullanır. İşlem nesneleri işlem hattına Export-Csv cmdlet'ine gönderilir. Export-Csv işlem nesnelerini bir dizi CSV dizesine dönüştürür. Yolu parametresi, WmiData.csv dosyasının geçerli dizine kaydedildiğini belirtir. NoTypeInformation parametresi, CSV çıkışından #TYPE bilgi üst bilgisini kaldırır ve PowerShell 6'da gerekli değildir. Import-Csv cmdlet'i geçerli dizinde bulunan dosyayı görüntülemek için Path parametresini kullanır.

Örnek 2: İşlemleri virgülle ayrılmış bir dosyaya dışarı aktarma

Bu örnek İşlem nesnelerini alır ve nesneleri csv dosyasına aktarır.

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'i process nesnelerini alır. İşlem nesneleri işlem hattına Export-Csv cmdlet'ine gönderilir. Export-Csv işlem nesnelerini bir dizi CSV dizesine dönüştürür. Yolu parametresi, Processes.csv dosyasının geçerli dizine kaydedildiğini belirtir. NoTypeInformation parametresi, CSV çıkışından #TYPE bilgi üst bilgisini kaldırır ve PowerShell 6'da gerekli değildir. Get-Content cmdlet'i geçerli dizinde bulunan dosyayı görüntülemek için Path parametresini kullanır.

Örnek 3: İşlemleri noktalı virgülle ayrılmış bir dosyaya aktarma

Bu örnek, İşlem nesnelerini alır ve nesneleri noktalı virgül sınırlayıcı içeren bir dosyaya aktarır.

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'i process nesnelerini alır. İşlem nesneleri işlem hattına Export-Csv cmdlet'ine gönderilir. Export-Csv işlem nesnelerini bir dizi CSV dizesine dönüştürür. Yolu parametresi, Processes.csv dosyasının geçerli dizine kaydedildiğini belirtir. Sınırlayıcı parametresi, dize değerlerini ayırmak için noktalı virgül belirtir. NoTypeInformation parametresi, CSV çıkışından #TYPE bilgi üst bilgisini kaldırır ve PowerShell 6'da gerekli değildir. Get-Content cmdlet'i geçerli dizinde bulunan dosyayı görüntülemek için Path parametresini kullanır.

Örnek 4: Geçerli kültürün liste ayırıcısını kullanarak işlemleri dışarı aktarma

Bu örnek İşlem nesnelerini alır ve nesneleri bir dosyaya aktarır. Sınırlayıcı, geçerli kültürün liste ayırıcısıdır.

(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'i TextInfo ve ListSeparator iç içe özellikleri kullanır ve geçerli kültürün varsayılan liste ayırıcısını görüntüler. Get-Process cmdlet'i process nesnelerini alır. İşlem nesneleri işlem hattına Export-Csv cmdlet'ine gönderilir. Export-Csv işlem nesnelerini bir dizi CSV dizesine dönüştürür. Yolu parametresi, Processes.csv dosyasının geçerli dizine kaydedildiğini belirtir. UseCulture parametresi sınırlayıcı olarak geçerli kültürün varsayılan liste ayırıcısını kullanır. NoTypeInformation parametresi, CSV çıkışından #TYPE bilgi üst bilgisini kaldırır ve PowerShell 6'da gerekli değildir. Get-Content cmdlet'i geçerli dizinde bulunan dosyayı görüntülemek için Path parametresini kullanır.

Örnek 5: İşlemleri tür bilgileriyle dışarı aktarma

Bu örnekte, csv dosyasına #TYPE üst bilgi bilgilerinin nasıl dahil olduğu açıklanmaktadır. #TYPE üst bilgisi, PowerShell 6.0'ın önceki sürümlerinde varsayılandır.

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'i process nesnelerini alır. İşlem nesneleri işlem hattına Export-Csv cmdlet'ine gönderilir. Export-Csv işlem nesnelerini bir dizi CSV dizesine dönüştürür. Yolu parametresi, Processes.csv dosyasının geçerli dizine kaydedildiğini belirtir. IncludeTypeInformation, CSV çıktısında #TYPE bilgi üst bilgisini içerir. Get-Content cmdlet'i geçerli dizinde bulunan dosyayı görüntülemek için Path parametresini kullanır.

Örnek 6: Nesneleri CSV dosyasına dışarı aktarma ve ekleme

Bu örnekte, nesneleri CSV dosyasına dışarı aktarma ve var olan bir dosyaya nesne eklemek için Ekleme parametresini kullanma açıklanmaktadır.

$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'i hizmet nesnelerini alır. DisplayName parametresi, Application sözcüğünü içeren hizmetleri döndürür. Hizmet nesneleri işlem hattı Select-Object cmdlet'ine gönderilir. Select-Object, DisplayName ve Status özelliklerini belirtmek için Özelliği parametresini kullanır. $AppService değişkeni nesneleri depolar.

$AppService nesneleri işlem hattını Export-Csv cmdlet'ine gönderilir. Export-Csv, hizmet nesnelerini bir dizi CSV dizesine dönüştürür. Yolu parametresi, Services.csv dosyasının geçerli dizine kaydedildiğini belirtir. NoTypeInformation parametresi, CSV çıkışından #TYPE bilgi üst bilgisini kaldırır ve PowerShell 6'da gerekli değildir. Get-Content cmdlet'i geçerli dizinde bulunan dosyayı görüntülemek için Path parametresini kullanır.

windows sözcüğünü içeren hizmetler için Get-Service ve Select-Object cmdlet'leri yinelenir. $WinService değişkeni hizmet nesnelerini depolar. Export-Csv cmdlet'i, nesnelerinin var olan $WinService dosyasına ekleneceğini belirtmek için Services.csv parametresini kullanır. Get-Content cmdlet'i, eklenen verileri içeren güncelleştirilmiş dosyayı görüntülemek için yinelenir.

Örnek 7: İşlem hattı içinde cmdlet'i biçimlendirme beklenmeyen sonuçlar oluşturur

Bu örnek, bir işlem hattı içinde biçim cmdlet'i kullanmama neden önemli olduğunu gösterir. Beklenmeyen çıkış alındığında işlem hattı söz diziminde sorun giderin.

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'i DateTime nesnesini alır. Nesnesi, işlem hattı Select-Object cmdlet'ine gönderilir. Select-Object, nesne özelliklerinin bir alt kümesini seçmek için Özelliği parametresini kullanır. Nesnesi, işlem hattı Export-Csv cmdlet'ine gönderilir. Export-Csv nesneyi CSV biçimine dönüştürür. Yolu parametresi, DateTime.csv dosyasının geçerli dizine kaydedildiğini belirtir. NoTypeInformation parametresi, CSV çıkışından #TYPE bilgi üst bilgisini kaldırır ve PowerShell 6'da gerekli değildir. Get-Content cmdlet'i geçerli dizinde bulunan CSV dosyasını görüntülemek için Path parametresini kullanır.

Format-Table cmdlet'i işlem hattı içinde özellikleri seçmek için kullanıldığında beklenmeyen sonuçlar alınır. Format-Table, tablo biçimi nesnelerini Export-Csv nesnesi yerine cmdlet'ine işlem hattına gönderir. Export-Csv tablo biçimi nesnelerini bir dizi CSV dizesine dönüştürür. Get-Content cmdlet'i tablo biçimi nesnelerini içeren CSV dosyasını görüntüler.

Örnek 8: Salt okunur dosyaların üzerine yazmak için Zorla parametresini kullanma

Bu örnek boş, salt okunur bir dosya oluşturur ve dosyayı güncelleştirmek için zorla parametresini kullanır.

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'i geçerli dizinde dosyasını oluşturmak için Yol ve ReadOnly.csv parametrelerini kullanır. Set-ItemProperty cmdlet'i, dosyanın IsReadOnly özelliğini true olarak değiştirmek için Name ve Value parametrelerini kullanır. Get-Process cmdlet'i process nesnelerini alır. İşlem nesneleri işlem hattına Export-Csv cmdlet'ine gönderilir. Export-Csv işlem nesnelerini bir dizi CSV dizesine dönüştürür. Yolu parametresi, ReadOnly.csv dosyasının geçerli dizine kaydedildiğini belirtir. NoTypeInformation parametresi, CSV çıkışından #TYPE bilgi üst bilgisini kaldırır ve PowerShell 6'da gerekli değildir. Çıkış, erişim reddedildiğinden dosyanın yazılmadığını gösterir.

dışarı aktarmayı dosyaya yazmaya zorlamak için cmdlet'ine Export-Csv parametresi eklenir. Get-Content cmdlet'i geçerli dizinde bulunan dosyayı görüntülemek için Path parametresini kullanır.

Örnek 9: Ekleme ile Force parametresini kullanma

Bu örnekte Zorla ve Ekleme parametrelerinin nasıl kullanılacağı gösterilmektedir. Bu parametreler birleştirildiğinde, eşleşmeyen nesne özellikleri csv dosyasına yazılabilir.

$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

İfade, Ad ve Sürüm özelliklerine sahip PSCustomObject oluşturur. Değerler $Content değişkeninde depolanır. $Content değişkeni, işlem hattından Export-Csv cmdlet'ine gönderilir. Export-Csv Path parametresini kullanır ve ParmFile.csv dosyasını geçerli dizine kaydeder. NoTypeInformation parametresi, CSV çıkışından #TYPE bilgi üst bilgisini kaldırır ve PowerShell 6'da gerekli değildir.

Başka bir ifade, Name ve Edition özellikleriyle bir PSCustomObject oluşturur. Değerler $AdditionalContent değişkeninde depolanır. $AdditionalContent değişkeni, işlem hattından Export-Csv cmdlet'ine gönderilir. Ekleme parametresi, verileri dosyaya eklemek için kullanılır. Sürüm ile Editionarasında özellik adı uyuşmazlığı olduğundan ekleme başarısız oluyor.

dışarı aktarmayı dosyaya yazmaya zorlamak için Export-Csv cmdlet Force parametresi kullanılır. Edition özelliği atılır. Import-Csv cmdlet'i geçerli dizinde bulunan dosyayı görüntülemek için Path parametresini kullanır.

Örnek 10: İki sütun çevresinde tırnak işaretleri içeren CSV'ye dışarı aktarma

Bu örnek, DateTime nesnesini CSV dizesine dönüştürür.

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

Örnek 11: CSV'ye yalnızca gerektiğinde tırnak işaretleri ile dışarı aktarma

Bu örnek, DateTime nesnesini CSV dizesine dönüştürür.

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

Örnek 12: Karma tablolarını CSV'ye dönüştürme

PowerShell 7.2 ve üzerinde, karma tablolarınızı CSV'ye aktardığınızda, ilk karma tablo anahtarları serileştirilir ve csv dosyası çıkışında üst bilgi olarak kullanılır.

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

Örnek 13: Ek özelliklerle karma tablolarını CSV'ye dönüştürme

PowerShell 7.2 ve üzerinde, Add-Member veya Select-Object ek özellikleri eklenmiş olan bir karma tablo dışarı aktardığınızda, ek özellikler csv dosyasına üst bilgi olarak da eklenir.

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

Her karma tablo, ExtraProp tarafından eklenen ve csv'ye aktarılan Add-Member adlı bir özelliğe sahiptir. ExtraProp artık CSV dosya çıkışında bir üst bilgi olduğunu görebilirsiniz.

Eklenen bir özellik, karma tablodaki anahtarla aynı ada sahipse, anahtar önceliklidir ve yalnızca anahtar CSV'ye aktarılır.

Parametreler

-Append

Export-Csv belirtilen dosyanın sonuna CSV çıkışı ekleyebilmesi için bu parametreyi kullanın. Bu parametre olmadan, Export-Csv dosya içeriğini uyarı olmadan değiştirir.

Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.

Tür:SwitchParameter
Position:Named
Default value:False
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-Confirm

Cmdlet'i çalıştırmadan önce sizden onay ister.

Tür:SwitchParameter
Diğer adlar:cf
Position:Named
Default value:False
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-Delimiter

Özellik değerlerini ayırmak için bir sınırlayıcı belirtir. Varsayılan değer virgüldür (,). İki nokta üst üste (:) gibi bir karakter girin. Noktalı virgül belirtmek için (;), tırnak içine alın.

Tür:Char
Position:1
Default value:comma (,)
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-Encoding

Dışarı aktarılan CSV dosyasının kodlamasını belirtir. Varsayılan değer utf8NoBOM.

Bu parametre için kabul edilebilir değerler aşağıdaki gibidir:

  • ascii: ASCII (7 bit) karakter kümesi için kodlamayı kullanır.
  • ansi: Geçerli kültürün ANSI kod sayfasının kodlamasını kullanır. Bu seçenek eklendi
  • bigendianunicode: Büyük endian bayt sırasını kullanarak UTF-16 biçiminde kodlar.
  • bigendianutf32: Büyük endian bayt sırasını kullanarak UTF-32 biçiminde kodlar.
  • oem: MS-DOS ve konsol programları için varsayılan kodlamayı kullanır.
  • unicode: Little-endian bayt sırasını kullanarak UTF-16 biçiminde kodlar.
  • utf7: UTF-7 biçiminde kodlar.
  • utf8: UTF-8 biçiminde kodlar.
  • utf8BOM: Bayt Sırası İşareti (BOM) ile UTF-8 biçiminde kodlar
  • utf8NoBOM: Bayt Sırası İşareti (BOM) olmadan UTF-8 biçiminde kodlar
  • utf32: UTF-32 biçiminde kodlar.

PowerShell 6.2'den başlayarak, Kodlama parametresi, kayıtlı kod sayfalarının sayısal kimliklerine (-Encoding 1251gibi) veya kayıtlı kod sayfalarının dize adlarına (-Encoding "windows-1251"gibi) de izin verir. Daha fazla bilgi için Encoding.CodePageiçin .NET belgelerine bakın.

PowerShell 7.4'den başlayarak, Ansi parametresinin değerini kullanarak geçerli kültürün ANSI kod sayfasının sayısal kimliğini el ile belirtmek zorunda kalmadan geçirebilirsiniz.

Not

UTF-7* artık kullanılması önerilmez. PowerShell 7.1'den itibaren, utf7 parametresi için belirtirseniz bir uyarı yazılır.

Tür:Encoding
Kabul edilen değerler:ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32
Position:Named
Default value:UTF8NoBOM
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-Force

Bu parametre, Export-CsvSalt Okunur özniteliğiyle dosyaların üzerine yazmasına olanak tanır.

Zorla ve Ekleme parametreleri birleştirildiğinde, eşleşmeyen özellikler içeren nesneler CSV dosyasına yazılabilir. Dosyaya yalnızca eşleşen özellikler yazılır. Eşleşmeyen özellikler atılır.

Tür:SwitchParameter
Position:Named
Default value:False
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-IncludeTypeInformation

Bu parametre kullanıldığında CSV çıkışının ilk satırı #TYPE ve ardından nesne türünün tam adını içerir. Örneğin, #TYPE System.Diagnostics.Process.

Bu parametre PowerShell 6.0'da kullanıma sunulmuştur.

Tür:SwitchParameter
Diğer adlar:ITI
Position:Named
Default value:False
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-InputObject

CSV dizeleri olarak dışarı aktaracak nesneleri belirtir. Nesneleri içeren bir değişken girin veya nesneleri alan bir komut veya ifade yazın. Nesneleri Export-Csv'e de yöneltebilirsiniz.

Tür:PSObject
Position:Named
Default value:None
Gerekli:True
İşlem hattı girişini kabul et:True
Joker karakterleri kabul et:False

-LiteralPath

CSV çıkış dosyasının yolunu belirtir. Pathaksine, LiteralPath parametresinin değeri tam olarak yazıldığı gibi kullanılır. Hiçbir karakter joker karakter olarak yorumlanmamıştır. Yol kaçış karakterleri içeriyorsa, tek tırnak işaretleri kullanın. Tek tırnak işaretleri PowerShell'e hiçbir karakteri kaçış dizisi olarak yorumlamaması gerektiğini söyler.

Tür:String
Diğer adlar:PSPath, LP
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-NoClobber

Export-Csv varolan bir dosyanın üzerine yazmaması için bu parametreyi kullanın. Varsayılan olarak, dosya belirtilen yolda varsa, Export-Csv uyarı vermeden dosyanın üzerine yazar.

Tür:SwitchParameter
Diğer adlar:NoOverwrite
Position:Named
Default value:False
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-NoHeader

Bu parametre kullanıldığında, cmdlet çıktıya sütun adlarını içeren bir üst bilgi satırı yazmaz.

Bu parametre PowerShell 7.4'e eklendi.

Tür:SwitchParameter
Position:Named
Default value:False
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-NoTypeInformation

Çıktıdan #TYPE bilgi üst bilgisini kaldırır. Bu parametre PowerShell 6.0'da varsayılan değer oldu ve geriye dönük uyumluluk için eklenmiştir.

Tür:SwitchParameter
Diğer adlar:NTI
Position:Named
Default value:False
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-Path

CSV çıkış dosyasının kaydedilecek konumu belirten gerekli bir parametre.

Tür:String
Position:0
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-QuoteFields

Tırnak içine alınması gereken sütunların adlarını belirtir. Bu parametre kullanıldığında, yalnızca belirtilen sütunlar tırnak içine alınır. Bu parametre PowerShell 7.0'a eklendi.

Tür:String[]
Diğer adlar:QF
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-UseCulture

Öğe sınırlayıcısı olarak geçerli kültür için liste ayırıcısını kullanır. Bir kültürün liste ayırıcısını bulmak için şu komutu kullanın: (Get-Culture).TextInfo.ListSeparator.

Tür:SwitchParameter
Position:Named
Default value:False
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-UseQuotes

CSV dosyalarında tırnakların ne zaman kullanılacağını belirtir. Olası değerler şunlardır:

  • Hiçbir zaman - hiçbir şeyden alıntı yapmayın
  • Her zaman - her şeyi alıntıla (varsayılan davranış)
  • AsNeeded - yalnızca sınırlayıcı karakter, çift tırnak veya yeni satır karakteri içeren tırnak alanları

Bu parametre PowerShell 7.0'a eklendi.

Tür:Microsoft.PowerShell.Commands.BaseCsvWritingCommand+QuoteKind
Diğer adlar:UQ
Position:Named
Default value:Always
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-WhatIf

Cmdlet'in işlenmesini veya değişiklik yapılmasını engeller. Çıktı, cmdlet çalıştırıldığında ne olacağını gösterir.

Tür:SwitchParameter
Diğer adlar:wi
Position:Named
Default value:False
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

Girişler

PSObject

Genişletilmiş Tür Sistemi (ETS) bağdaştırıcısına sahip herhangi bir nesneyi bu cmdlet'e yöneltebilirsiniz.

Çıkışlar

None

Bu cmdlet çıkış döndürmez.

Notlar

PowerShell, Export-Csviçin aşağıdaki diğer adları içerir:

  • Tüm platformlar:
    • epcsv

Export-Csv cmdlet'i gönderdiğiniz nesneleri bir dizi CSV dizesine dönüştürür ve bunları belirtilen metin dosyasına kaydeder. CSV dosyasındaki nesneleri kaydetmek için Export-Csv -IncludeTypeInformation kullanabilir ve ardından CSV dosyasındaki metinden nesne oluşturmak için Import-Csv cmdlet'ini kullanabilirsiniz.

CSV dosyasında her nesne, nesnenin özellik değerlerinin karakterle ayrılmış bir listesiyle temsil edilir. Özellik değerleri, ToString() yöntemi kullanılarak dizelere dönüştürülür. Dizeler özellik değeri adıyla temsil edilir. Export-Csv -IncludeTypeInformation nesnesinin yöntemlerini dışarı aktarmaz.

CSV dizeleri aşağıdaki gibi çıkıştır:

  • IncludeTypeInformation kullanılırsa, ilk dize #TYPE bilgi üst bilgisini ve ardından nesne türünün tam adını içerir. Örneğin, system.diagnostics.process #TYPE.
  • IncludeTypeInformation kullanılmazsa, ilk dize sütun başlıklarını içerir. Üst bilgiler, ilk nesnenin özellik adlarını karakterle ayrılmış liste olarak içerir.
  • Kalan dizeler, her nesnenin özellik değerlerinin karakterle ayrılmış listelerini içerir.

PowerShell 6.0 ile başlayarak, Export-Csv varsayılan davranışı CSV'ye #TYPE bilgilerini eklememektir ve noTypeInformation . IncludeTypeInformation, #TYPE Bilgilerini dahil etmek ve PowerShell 6.0'ın öncesinde Export-Csv varsayılan davranışını öykünmek için kullanılabilir.

Export-Csviçin birden çok nesne gönderdiğinizde Export-Csv dosyayı gönderdiğiniz ilk nesnenin özelliklerine göre düzenler. Kalan nesneler belirtilen özelliklerden birine sahip değilse, ardışık iki virgülle gösterildiği gibi bu nesnenin özellik değeri null olur. Kalan nesnelerin ek özellikleri varsa, bu özellik değerleri dosyaya dahil değildir.

dosyalarındaki CSV dizelerinden nesneleri yeniden oluşturmak için Import-Csv cmdlet'ini kullanabilirsiniz. Sonuçta elde edilen nesneler, özellik değerlerinin dize gösterimlerinden oluşan ve yöntem içermeyen özgün nesnelerin CSV sürümleridir.

ConvertTo-Csv ve ConvertFrom-Csv cmdlet'leri nesneleri CSV dizelerine ve CSV dizelerinden dönüştürür. Export-Csv, CSV dizelerini bir dosyaya kaydetmesi dışında ConvertTo-Csvile aynıdır.