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-Object
DisplayName 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-Table
tablo 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-Csv
Path 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 kodlarutf8NoBOM
: Bayt Sipariş İşareti (BOM) olmadan UTF-8 biçiminde kodlarutf32
: 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-CSV
de 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
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-Csv
iç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-CSV
Export-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
.
İlişkili Bağlantılar
PowerShell
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin