Export-Csv

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

Syntax

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

Description

Cmdlet, Export-CSV 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. Cmdlet'ini Export-CSV kullanarak elektronik tablolar oluşturabilir ve csv dosyalarını giriş olarak kabul eden programlarla veri paylaşabilirsiniz.

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

Örnekler

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

Bu örnek Belirli özelliklere sahip nesneleri işle'yi seçer, nesneleri bir 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

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

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

cmdlet'i Get-Process process nesnelerini alır. İşlem nesneleri işlem hattına cmdlet'ine Export-Csv gönderilir. Export-Csv işlem nesnelerini bir dizi CSV dizesine dönüştürür. Path parametresi, dosyanın geçerli dizine kaydedildiğini Processes.csv 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. Cmdlet, Get-Content 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", ...

Cmdlet, Get-Culture TextInfo ve ListSeparator iç içe özelliklerini kullanır ve geçerli kültürün varsayılan liste ayırıcısını görüntüler. cmdlet'i Get-Process process nesnelerini alır. İşlem nesneleri işlem hattına cmdlet'ine Export-Csv gönderilir. Export-Csv işlem nesnelerini bir dizi CSV dizesine dönüştürür. Path parametresi, dosyanın geçerli dizine kaydedildiğini Processes.csv 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. Cmdlet, Get-Content 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, bir 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", ...

cmdlet'i Get-Process process nesnelerini alır. İşlem nesneleri işlem hattına cmdlet'ine Export-Csv gönderilir. Export-Csv işlem nesnelerini bir dizi CSV dizesine dönüştürür. Path parametresi, dosyanın geçerli dizine kaydedildiğini Processes.csv belirtir. IncludeTypeInformation, CSV çıktısında #TYPE bilgi üst bilgisini içerir. Cmdlet, Get-Content 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ına cmdlet'ine Select-Object gönderilir. Select-ObjectDisplayName ve Status özelliklerini belirtmek için Property parametresini kullanır. $AppService değişkeni nesneleri depolar.

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

ve Select-Object cmdlet'leriGet-Service, Windows sözcüğünü içeren hizmetler için yinelenir. $WinService değişkeni hizmet nesnelerini depolar. Cmdlet, Export-Csv nesnelerin var olan Services.csv dosyaya eklendiğini belirtmek $WinService için Append parametresini kullanır. Eklenen Get-Content verileri içeren güncelleştirilmiş dosyayı görüntülemek için cmdlet 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",,,,,

cmdlet'i Get-Date DateTime nesnesini alır. Nesnesi işlem hattı cmdlet'ine Select-Object gönderilir. Select-Object, nesne özelliklerinin bir alt kümesini seçmek için Özellik parametresini kullanır. Nesnesi işlem hattı cmdlet'ine Export-Csv gönderilir. Export-Csv nesneyi CSV biçimine dönüştürür. Path parametresi, dosyanın geçerli dizine kaydedildiğini DateTime.csv belirtir. NoTypeInformation parametresi, CSV çıkışından #TYPE bilgi üst bilgisini kaldırır ve PowerShell 6'da gerekli değildir. Cmdlet, Get-Content 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-Tabletablo biçimi nesnelerini işlem hattından Export-Csv DateTime nesnesi yerine cmdlet'ine gönderir. Export-Csv tablo biçimi nesnelerini bir dizi CSV dizesine dönüştürür. cmdlet'i Get-Content 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 Force 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"; ...

Cmdlet, New-Item dosyayı geçerli dizinde oluşturmak ReadOnly.csv için Path ve ItemType parametrelerini kullanır. Cmdlet, Set-ItemProperty dosyanın IsReadOnly özelliğini true olarak değiştirmek için Ad ve Değer parametrelerini kullanır. cmdlet'i Get-Process process nesnelerini alır. İşlem nesneleri işlem hattına cmdlet'ine Export-Csv gönderilir. Export-Csv işlem nesnelerini bir dizi CSV dizesine dönüştürür. Path parametresi, dosyanın geçerli dizine kaydedildiğini ReadOnly.csv 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ı Export-Csv dosyaya yazmaya zorlamak için cmdlet'ine Force parametresi eklenir. Cmdlet, Get-Content 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 Ekle 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'i oluşturur. Değerler değişkeninde $Content depolanır. değişkeni $Content işlem hattına cmdlet'ine Export-Csv gönderilir. Export-CsvPath parametresini kullanır ve dosyayı geçerli dizine kaydederParmFile.csv. NoTypeInformation parametresi, CSV çıkışından #TYPE bilgi üst bilgisini kaldırır ve PowerShell 6'da gerekli değildir.

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

Export-Csv Dışarı aktarmayı dosyaya yazmaya zorlamak için cmdlet Force parametresi kullanılır. Edition özelliği atılır. Cmdlet, Import-Csv 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, bir 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, bir 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 = 1
}

$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, ile Add-Member eklenen ek özelliklere sahip bir karma tablo dışarı aktardığınızda veya Select-Object ek özellikler de CSV dosyasına üst bilgi olarak 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 tarafından Add-Member eklenen ve csv'ye dışarı aktarılan adlı ExtraProp bir özelliğe sahiptir. Artık CSV dosya çıkışında bir üst bilgi olduğunu görebilirsiniz ExtraProp .

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

Parametreler

-Append

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

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

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

-Confirm

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

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

-Delimiter

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

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

-Encoding

Dışarı aktarılan CSV dosyasının kodlamasını belirtir. Varsayılan değer şudur: 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.
  • 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 Sipariş İş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 (gibi-Encoding 1251) sayısal kimliklerine veya kayıtlı kod sayfalarının dize adlarına da (gibi-Encoding "windows-1251") izin verir. Daha fazla bilgi için Encoding.CodePage için .NET belgelerine bakın.

Not

UTF-7* artık kullanılması önerilmez. PowerShell 7.1'den itibaren Kodlama parametresini belirtirseniz utf7 bir uyarı yazılır.

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

Bu parametre Salt Okunur özniteliğiyle dosyaların üzerine yazılmasına olanak tanırExport-Csv.

Zorla ve Ekle 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.

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

-IncludeTypeInformation

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

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

Type:SwitchParameter
Aliases:ITI
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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 öğesine Export-CSVde yöneltebilirsiniz.

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

-LiteralPath

CSV çıkış dosyasının yolunu belirtir. Path'in aksine, 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.

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

-NoClobber

Var olan bir dosyanın üzerine yazılmayacak şekilde Export-CSV bu parametreyi kullanın. Varsayılan olarak, dosya belirtilen yolda varsa, Export-CSV uyarı vermeden dosyanın üzerine yazar.

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

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

-Path

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

Type:String
Position:0
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String[]
Aliases:QF
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

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

Type:Microsoft.PowerShell.Commands.BaseCsvWritingCommand+QuoteKind
Aliases:UQ
Position:Named
Default value:Always
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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 için aşağıdaki diğer adları Export-Csviçerir:

  • Tüm platformlar:
    • epcsv

cmdlet'i Export-CSV gönderdiğiniz nesneleri bir dizi CSV dizesine dönüştürür ve bunları belirtilen metin dosyasına kaydeder. Export-CSV -IncludeTypeInformation Kullanarak nesneleri csv dosyasına kaydedebilir ve ardından cmdlet'ini Import-Csv kullanarak CSV dosyasındaki metinden nesne oluşturabilirsiniz.

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 üst bilgilerini 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'ın varsayılan davranışıExport-CSV, CSV'ye #TYPE bilgilerini eklememektir ve NoTypeInformation örtülüdür. IncludeTypeInformation, #TYPE Bilgilerini dahil etmek ve PowerShell 6.0 öncesi varsayılan davranışını öykünmek Export-CSV için kullanılabilir.

öğesine Export-CSVExport-CSV birden çok nesne gönderdiğinizde, 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.

Cmdlet'ini Import-Csv kullanarak dosyalarındaki CSV dizelerinden nesneleri yeniden oluşturabilirsiniz. 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.

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