ConvertTo-Csv
Konwertuje obiekty .NET na serię ciągów wartości rozdzielanych znakami (CSV).
Składnia
ConvertTo-Csv
[-InputObject] <psobject>
[[-Delimiter] <char>]
[-NoTypeInformation]
[<CommonParameters>]
ConvertTo-Csv
[-InputObject] <psobject>
[-UseCulture]
[-NoTypeInformation]
[<CommonParameters>]
Opis
Polecenie ConvertTo-CSV
cmdlet zwraca serię ciągów wartości rozdzielanych znakami (CSV), które reprezentują przesyłane obiekty. Następnie możesz użyć ConvertFrom-Csv
polecenia cmdlet , aby ponownie utworzyć obiekty z ciągów CSV. Obiekty konwertowane z pliku CSV są wartościami ciągów oryginalnych obiektów zawierających wartości właściwości i bez metod.
Możesz użyć Export-Csv
polecenia cmdlet , aby przekonwertować obiekty na ciągi CSV. Export-CSV
jest podobny do ConvertTo-CSV
, z tą różnicą, że zapisuje ciągi CSV w pliku.
Polecenie ConvertTo-CSV
cmdlet ma parametry, aby określić ogranicznik inny niż przecinek lub użyć bieżącej kultury jako ogranicznika.
Przykłady
Przykład 1. Konwertowanie obiektu na wolumin CSV
W tym przykładzie obiekt Process jest konwertowany na ciąg CSV.
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", ...
Polecenie Get-Process
cmdlet pobiera obiekt Process i używa parametru Name do określenia procesu programu PowerShell. Obiekt procesu jest wysyłany w dół potoku ConvertTo-CSV
do polecenia cmdlet. Polecenie ConvertTo-CSV
cmdlet konwertuje obiekt na ciągi CSV. Parametr NoTypeInformation usuwa nagłówek informacji #TYPE z danych wyjściowych CSV.
Przykład 2. Konwertowanie obiektu DateTime na csv
W tym przykładzie obiekt DateTime jest konwertowany na ciąg CSV.
$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"
Polecenie Get-Date
cmdlet pobiera obiekt DateTime i zapisuje go w zmiennej $Date
. Polecenie ConvertTo-Csv
cmdlet konwertuje obiekt DateTime na ciągi. Parametr InputObject używa obiektu DateTime przechowywanego w zmiennej $Date
. Parametr ogranicznika określa średnik, aby oddzielić wartości ciągu. Parametr NoTypeInformation usuwa nagłówek informacji #TYPE z danych wyjściowych CSV.
Przykład 3. Konwertowanie dziennika zdarzeń programu PowerShell na wolumin CSV
W tym przykładzie dziennik zdarzeń systemu Windows dla programu PowerShell jest konwertowany na serię ciągów CSV.
(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", ...
Polecenie Get-Culture
cmdlet używa zagnieżdżonych właściwości TextInfo i ListSeparator i wyświetla domyślny separator listy bieżącej kultury. Polecenie Get-WinEvent
cmdlet pobiera obiekty dziennika zdarzeń i używa parametru LogName do określenia nazwy pliku dziennika. Obiekty dziennika zdarzeń są wysyłane w dół potoku ConvertTo-Csv
do polecenia cmdlet. Polecenie ConvertTo-Csv
cmdlet konwertuje obiekty dziennika zdarzeń na serię ciągów CSV. Parametr UseCulture używa domyślnego separatora listy bieżącej kultury jako ogranicznika. Parametr NoTypeInformation usuwa nagłówek informacji #TYPE z danych wyjściowych CSV.
Parametry
-Delimiter
Określa ogranicznik, aby oddzielić wartości właściwości w ciągach CSV. Wartość domyślna to przecinek (,
). Wprowadź znak, taki jak dwukropek (:
). Aby określić średnik (;
) ujęć go w pojedynczy cudzysłów.
Type: | Char |
Position: | 1 |
Default value: | comma (,) |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Określa obiekty, które są konwertowane na ciągi CSV. Wprowadź zmienną zawierającą obiekty lub wpisz polecenie lub wyrażenie, które pobiera obiekty. Można również przekazać obiekty potokowe do ConvertTo-CSV
obiektu .
Type: | PSObject |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NoTypeInformation
Usuwa nagłówek informacji #TYPE z danych wyjściowych. Ten parametr stał się wartością domyślną w programie PowerShell 6.0 i został uwzględniony w celu zapewnienia zgodności z poprzednimi wersjami.
Type: | SwitchParameter |
Aliases: | NTI |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UseCulture
Używa separatora listy dla bieżącej kultury jako ogranicznika elementu. Aby znaleźć separator listy dla kultury, użyj następującego polecenia: (Get-Culture).TextInfo.ListSeparator
.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Dane wejściowe
Do tego polecenia cmdlet można przekazać potok dowolny obiekt z kartą systemu rozszerzonego typu (ETS).
Dane wyjściowe
To polecenie cmdlet zwraca jeden lub więcej ciągów reprezentujących każdy przekonwertowany obiekt.
Uwagi
W formacie CSV każdy obiekt jest reprezentowany przez rozdzielaną znakami listę jego wartości właściwości. Wartości właściwości są konwertowane na ciągi przy użyciu metody ToString(). Ciągi są reprezentowane przez nazwę wartości właściwości. ConvertTo-CSV
nie eksportuje metod obiektu.
Ciągi CSV są danymi wyjściowymi w następujący sposób:
- Domyślnie pierwszy ciąg zawiera nagłówek informacji #TYPE , po którym następuje w pełni kwalifikowana nazwa typu obiektu. Na przykład #TYPE System.Diagnostics.Process.
- Jeśli parametr NoTypeInformation jest używany, pierwszy ciąg zawiera nagłówki kolumn. Nagłówki zawierają nazwy właściwości pierwszego obiektu jako listę rozdzielaną przecinkami.
- Pozostałe ciągi zawierają rozdzielane przecinkami listy wartości właściwości każdego obiektu.
Po przesłaniu wielu obiektów do ConvertTo-CSV
programu ConvertTo-CSV
polecenie porządkuje ciągi na podstawie właściwości pierwszego przesyłanego obiektu. Jeśli pozostałe obiekty nie mają jednej z określonych właściwości, wartość właściwości tego obiektu ma wartość Null, reprezentowana przez dwa kolejne przecinki. Jeśli pozostałe obiekty mają dodatkowe właściwości, te wartości właściwości są ignorowane.