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 1251
gibi) 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-Csv
Salt 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
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-Csv
iç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-Csv
iç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-Csv
ile aynıdır.
İlişkili Bağlantılar
PowerShell