ConvertTo-Csv
.NET nesnelerini karakterle ayrılmış değer (CSV) dizeleri dizisine dönüştürür.
Syntax
Delimiter (Varsayılan)
ConvertTo-Csv
[-InputObject] <psobject>
[[-Delimiter] <char>]
[-NoTypeInformation]
[<CommonParameters>]
UseCulture
ConvertTo-Csv
[-InputObject] <psobject>
[-UseCulture]
[-NoTypeInformation]
[<CommonParameters>]
Description
ConvertTo-Csv cmdlet'i, gönderdiğiniz nesneleri temsil eden bir dizi karakterle ayrılmış değer (CSV) dizesi döndürür. Ardından csv dizelerinden nesneleri yeniden oluşturmak için ConvertFrom-Csv cmdlet'ini kullanabilirsiniz. CSV'den dönüştürülen nesneler, özellik değerleri içeren ve yöntem içermeyen özgün nesnelerin dize değerleridir.
nesneleri CSV dizelerine dönüştürmek için Export-Csv cmdlet'ini kullanabilirsiniz.
Export-Csv, CSV dizelerini bir dosyaya kaydetmesi dışında ConvertTo-Csvile benzerdir.
ConvertTo-Csv cmdlet'inin, virgül dışında bir ayırıcı belirtmek veya geçerli kültürü ayırıcı olarak kullanmak için parametreleri vardır.
Örnekler
Örnek 1: Nesneyi CSV'ye dönüştürme
Bu örnek, İşlem nesnesini CSV dizesine dönüştürür.
Get-Process -Name 'PowerShell' | ConvertTo-Csv -NoTypeInformation
"Name","SI","Handles","VM","WS","PM","NPM","Path","Company","CPU","FileVersion", ...
"powershell","11","691","2204036739072","175943680","132665344","33312", ...
Get-Process cmdlet'i İşlem nesnesini alır ve PowerShell işlemini belirtmek için Name parametresini kullanır. İşlem hattı içinden gelen işlem nesnesi, ConvertTo-Csv cmdlet'ine gönderilir.
ConvertTo-Csv cmdlet'i nesneyi CSV dizelerine dönüştürür.
NoTypeInformation parametresi, CSV çıkışından #TYPE bilgi üst bilgisini kaldırır.
Örnek 2: DateTime nesnesini CSV'ye dönüştürme
Bu örnek, DateTime nesnesini CSV dizesine dönüştürür.
$Date = Get-Date
ConvertTo-Csv -InputObject $Date -Delimiter ';' -NoTypeInformation
"DisplayHint";"DateTime";"Date";"Day";"DayOfWeek";"DayOfYear";"Hour";"Kind";"Millisecond";"Minute";"Month";"Second";"Ticks";"TimeOfDay";"Year"
"DateTime";"Friday, January 4, 2019 14:40:51";"1/4/2019 00:00:00";"4";"Friday";"4";"14";"Local";"711";"40";"1";"51";"636822096517114991";"14:40:51.7114991";"2019"
Get-Date cmdlet'i, DateTime nesnesini alıp $Date değişkenine kaydeder.
ConvertTo-Csv cmdlet'i DateTime nesnesini dizelere dönüştürür.
InputObject parametresi, değişkeninde depolanan $Date nesnesini kullanır.
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.
Örnek 3: PowerShell olay günlüğünü CSV'ye dönüştürme
Bu örnek, PowerShell için Windows olay günlüğünü bir dizi CSV dizesine dönüştürür.
(Get-Culture).TextInfo.ListSeparator
Get-WinEvent -LogName 'Windows PowerShell' | ConvertTo-Csv -UseCulture -NoTypeInformation
,
"Message","Id","Version","Qualifiers","Level","Task","Opcode","Keywords","RecordId", ...
"Error Message = System error","403",,"0","4","4",,"36028797018963968","46891","PowerShell", ...
Get-Culture cmdlet'i, iç içe geçmiş TextInfo ve ListSeparator özelliklerini kullanır ve geçerli kültürün varsayılan ayırıcısını görüntüler.
Get-WinEvent cmdlet'i olay günlüğü nesnelerini alır ve günlük dosyası adını belirtmek için LogName parametresini kullanır. Olay günlüğü nesneleri işlem hattına ConvertTo-Csv cmdlet'ine gönderilir.
ConvertTo-Csv cmdlet'i olay günlüğü nesnelerini bir dizi CSV dizesine dönüştürür.
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.
Parametreler
-Delimiter
CSV dizelerindeki özellik değerlerini ayırmak için sınırlayıcıyı belirtir. Varsayılan değer virgüldür (,).
Bir karakter girin, örneğin iki nokta üst üste (:). Noktalı virgül (); belirtmek için, bunu tek tırnak içine alın. Sekme ()`t gibi kaçış özel karakterlerini belirtmek için, çift tırnak içine alın.
Parametre özellikleri
| Tür: | Char |
| Default value: | comma (,) |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
Delimiter
| Position: | 1 |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-InputObject
CSV dizelerine dönüştürülen nesneleri belirtir. Nesneleri içeren bir değişken girin veya nesneleri alan bir komut veya ifade yazın. Nesneleri ConvertTo-Csv'e de yöneltebilirsiniz.
Parametre özellikleri
| Tür: | PSObject |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | 0 |
| Zorunlu: | True |
| İşlem hattından gelen değer: | True |
| Özellik adına göre işlem hattından gelen değer: | True |
| Kalan bağımsız değişkenlerden elde edilen değer: | 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.
Parametre özellikleri
| Tür: | SwitchParameter |
| Default value: | False |
| Joker karakterleri destekler: | False |
| DontShow: | False |
| Diğer adlar: | NTI |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | 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.
Parametre özellikleri
| Tür: | SwitchParameter |
| Default value: | False |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
UseCulture
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
CommonParameters
Bu cmdlet yaygın parametreleri destekler: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction ve -WarningVariable. Daha fazla bilgi için bkz. about_CommonParameters.
Girişler
PSObject
Genişletilmiş Tür Sistemi (ETS) bağdaştırıcısı olan herhangi bir nesneyi bu cmdlet'e aktarabilirsiniz.
Çıkışlar
String
Bu cmdlet, dönüştürülen her nesneyi temsil eden bir veya daha fazla dize döndürür.
Notlar
CSV biçiminde her nesne, özellik değerinin karakterle ayrılmış bir listesiyle temsil edilir. Özellik değerleri, nesnenin ToString() yöntemi kullanılarak dizelere dönüştürülür. Dizeler özellik değeri adıyla temsil edilir.
ConvertTo-Csv nesnenin yöntemlerini dışarı aktarmaz.
CSV dizeleri aşağıdaki gibi olarak çıkartılır.
- Varsayılan olarak, ilk dize #TYPE bilgi üst bilgisini ve ardından nesne türünün tam adını içerir. Örneğin, #TYPE System.Diagnostics.Process.
- NoTypeInformation kullanılırsa, ilk dize sütun üst bilgilerini içerir. Üst bilgiler, ilk nesnenin özellik adlarını virgülle ayrılmış liste olarak içerir.
- Kalan dizeler, her nesnenin özellik değerlerinin virgülle ayrılmış listelerini içerir.
ConvertTo-Csviçin birden çok nesne gönderdiğinizde, ConvertTo-Csv dizeleri gönderdiğiniz ilk nesnenin özelliklerine göre sıralar. 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 başka özellikleri varsa, bu özellik değerleri yoksayılır.