Export-Csv
Konwertuje obiekty na serię ciągów wartości rozdzielanych znakami (CSV) i zapisuje ciągi w pliku.
Składnia
Delimiter (Domyślna)
Export-Csv
[[-Path] <String>]
[[-Delimiter] <Char>]
-InputObject <PSObject>
[-LiteralPath <String>]
[-Force]
[-NoClobber]
[-Encoding <Encoding>]
[-Append]
[-IncludeTypeInformation]
[-NoTypeInformation]
[-QuoteFields <String[]>]
[-UseQuotes <QuoteKind>]
[-NoHeader]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
UseCulture
Export-Csv
[[-Path] <String>]
-InputObject <PSObject>
[-LiteralPath <String>]
[-Force]
[-NoClobber]
[-Encoding <Encoding>]
[-Append]
[-UseCulture]
[-IncludeTypeInformation]
[-NoTypeInformation]
[-QuoteFields <String[]>]
[-UseQuotes <QuoteKind>]
[-NoHeader]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Opis
Polecenie Export-Csv cmdlet tworzy plik CSV z przesyłanymi obiektami. Każdy obiekt jest wierszem zawierającym rozdzielaną znakami listę wartości właściwości obiektu. Za pomocą Export-Csv polecenia cmdlet można tworzyć arkusze kalkulacyjne i udostępniać dane programom, które akceptują pliki CSV jako dane wejściowe.
Nie formatuj obiektów przed wysłaniem Export-Csv ich do polecenia cmdlet. W przypadku Export-Csv odebrania sformatowanych obiektów plik CSV zawiera właściwości formatu, a nie właściwości obiektu. Aby wyeksportować tylko wybrane właściwości obiektu, należy użyć Select-Object polecenia cmdlet.
Przykłady
Przykład 1: Eksportowanie właściwości procesu do pliku CSV
W tym przykładzie wybierane są obiekty procesu o określonych właściwościach, eksportowane obiekty do pliku CSV.
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
Polecenie Get-Process cmdlet pobiera obiekty Process . Parametr Name filtruje dane wyjściowe tak, aby zawierały tylko obiekty procesu WmiPrvSE. Obiekty procesu są wysyłane w dół potoku do polecenia cmdlet Select-Object.
Select-Object używa parametru Property w celu wybrania podzbioru właściwości obiektu procesu. Obiekty procesu są wysyłane w dół potoku do polecenia cmdlet Export-Csv.
Export-Csv konwertuje obiekty procesu na serię ciągów CSV.
Parametr Path określa, że WmiData.csv plik jest zapisywany w bieżącym katalogu. Parametr NoTypeInformation usuwa nagłówek informacji #TYPE z danych wyjściowych CSV i nie jest wymagany w programie PowerShell 6. Polecenie Import-Csv cmdlet używa parametru Path do wyświetlenia pliku znajdującego się w bieżącym katalogu.
Przykład 2: Eksportowanie procesów do pliku rozdzielanego przecinkami
W tym przykładzie pobierane są obiekty Process i eksportowane do pliku CSV.
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", ...
Polecenie Get-Process cmdlet pobiera obiekty procesu . Obiekty procesu są wysyłane w dół potoku do polecenia cmdlet Export-Csv.
Export-Csv konwertuje obiekty procesu na serię ciągów CSV.
Parametr Path określa, że Processes.csv plik jest zapisywany w bieżącym katalogu. Parametr NoTypeInformation usuwa nagłówek informacji #TYPE z danych wyjściowych CSV i nie jest wymagany w programie PowerShell 6. Polecenie Get-Content cmdlet używa parametru Path do wyświetlenia pliku znajdującego się w bieżącym katalogu.
Przykład 3: Eksportowanie procesów do pliku rozdzielanego średnikami
W tym przykładzie pobierane są obiekty Process i eksportowane do pliku z ogranicznikiem średnika.
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"; ...
Polecenie Get-Process cmdlet pobiera obiekty procesu . Obiekty procesu są wysyłane w dół potoku do polecenia cmdlet Export-Csv.
Export-Csv konwertuje obiekty procesu na serię ciągów CSV.
Parametr Path określa, że Processes.csv plik jest zapisywany w bieżącym katalogu. Ogranicznik parametr określa średnik, aby oddzielić wartości ciągu. Parametr NoTypeInformation usuwa nagłówek informacji #TYPE z danych wyjściowych CSV i nie jest wymagany w programie PowerShell 6. Polecenie Get-Content cmdlet używa parametru Path do wyświetlenia pliku znajdującego się w bieżącym katalogu.
Przykład 4: Eksportowanie procesów przy użyciu separatora listy bieżącej kultury
W tym przykładzie pobierane są obiekty Process i eksportowane do pliku. Ogranicznik jest separatorem listy bieżącej kultury.
(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", ...
Polecenie cmdlet Get-Culture używa zagnieżdżonych właściwości TextInfo i ListSeparator i wyświetla domyślny separator listy bieżącej kultury. Polecenie Get-Process cmdlet pobiera obiekty procesu . Obiekty procesu są wysyłane w dół potoku do polecenia cmdlet Export-Csv.
Export-Csv konwertuje obiekty procesu na serię ciągów CSV.
Parametr Path określa, że Processes.csv plik jest zapisywany w bieżącym katalogu. 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 i nie jest wymagany w programie PowerShell 6.
Polecenie Get-Content cmdlet używa parametru Path do wyświetlenia pliku znajdującego się w bieżącym katalogu.
Przykład 5: Eksportowanie procesów z informacjami o typie
W tym przykładzie wyjaśniono, jak dołączyć informacje nagłówka #TYPE do pliku CSV. Nagłówek #TYPE jest domyślny w wersjach wcześniejszych niż PowerShell 6.0.
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", ...
Polecenie Get-Process cmdlet pobiera obiekty procesu . Obiekty procesu są wysyłane w dół potoku do polecenia cmdlet Export-Csv.
Export-Csv konwertuje obiekty procesu na serię ciągów CSV.
Parametr Path określa, że Processes.csv plik jest zapisywany w bieżącym katalogu.
Element IncludeTypeInformation zawiera nagłówek informacji #TYPE w danych wyjściowych CSV. Polecenie Get-Content cmdlet używa parametru Path do wyświetlenia pliku znajdującego się w bieżącym katalogu.
Przykład 6: Eksportowanie i dołączanie obiektów do pliku CSV
W tym przykładzie opisano sposób eksportowania obiektów do pliku CSV i używania parametru Append w celu dodania obiektów do istniejącego pliku.
$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"
Polecenie Get-Service cmdlet pobiera obiekty usługi. Parametr DisplayName zwraca usługi, które zawierają słowo Application. Obiekty usługi są wysyłane w dół potoku do polecenia cmdlet Select-Object.
Select-Object używa parametru Property w celu określenia właściwości DisplayName i Status . Zmienna $AppService przechowuje obiekty.
Obiekty $AppService są wysyłane w dół potoku do polecenia cmdlet Export-Csv.
Export-Csv konwertuje obiekty usługi na serię ciągów CSV.
Parametr Path określa, że Services.csv plik jest zapisywany w bieżącym katalogu. Parametr NoTypeInformation usuwa nagłówek informacji #TYPE z danych wyjściowych CSV i nie jest wymagany w programie PowerShell 6. Polecenie Get-Content cmdlet używa parametru Path do wyświetlenia pliku znajdującego się w bieżącym katalogu.
Polecenia Get-Service cmdlet i Select-Object są powtarzane dla usług, które zawierają słowo Windows. Zmienna $WinService przechowuje obiekty usługi. Polecenie Export-Csv cmdlet używa parametru Append , aby określić, że $WinService obiekty są dodawane do istniejącego Services.csv pliku. Polecenie Get-Content cmdlet jest powtarzane w celu wyświetlenia zaktualizowanego pliku zawierającego dołączone dane.
Przykład 7: Formatowanie polecenia cmdlet w potoku powoduje utworzenie nieoczekiwanych wyników
W tym przykładzie pokazano, dlaczego ważne jest, aby nie używać polecenia cmdlet formatu w potoku. Po odebraniu nieoczekiwanych danych wyjściowych rozwiąż problemy ze składnią potoku.
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",,,,,
Polecenie Get-Date cmdlet pobiera obiekt DateTime . Obiekt jest wysyłany w dół potoku do polecenia cmdlet Select-Object.
Select-Object używa parametru Właściwość w celu wybrania podzbioru właściwości obiektu. Obiekt jest wysyłany w dół potoku do polecenia cmdlet Export-Csv.
Export-Csv konwertuje obiekt na format CSV.
Parametr Path określa, że DateTime.csv plik jest zapisywany w bieżącym katalogu. Parametr NoTypeInformation usuwa nagłówek informacji #TYPE z danych wyjściowych CSV i nie jest wymagany w programie PowerShell 6. Polecenie Get-Content cmdlet używa parametru Path do wyświetlenia pliku CSV znajdującego się w bieżącym katalogu.
Format-Table Gdy polecenie cmdlet jest używane w potoku do wybierania właściwości, odbierane są nieoczekiwane wyniki.
Format-Table wysyła obiekty formatu tabeli w dół potoku do polecenia cmdlet, Export-Csv a nie do obiektu DateTime .
Export-Csv Konwertuje obiekty formatu tabeli na serię ciągów CSV. Polecenie Get-Content cmdlet wyświetla plik CSV, który zawiera obiekty formatu tabeli.
Przykład 8: Zastępowanie plików tylko do odczytu przy użyciu parametru Force
W tym przykładzie tworzony jest pusty plik tylko do odczytu i używany jest parametr Force w celu zaktualizowania pliku.
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"; ...
Polecenie New-Item cmdlet używa parametrów Path i ItemType do utworzenia ReadOnly.csv pliku w bieżącym katalogu. Polecenie Set-ItemProperty cmdlet używa parametrów Name i Value , aby zmienić właściwość pliku IsReadOnly na true. Polecenie Get-Process cmdlet pobiera obiekty procesu . Obiekty procesu są wysyłane w dół potoku do polecenia cmdlet Export-Csv.
Export-Csv konwertuje obiekty procesu na serię ciągów CSV.
Parametr Path określa, że ReadOnly.csv plik jest zapisywany w bieżącym katalogu. Parametr NoTypeInformation usuwa nagłówek informacji #TYPE z danych wyjściowych CSV i nie jest wymagany w programie PowerShell 6. Dane wyjściowe pokazują, że plik nie jest zapisywany, ponieważ odmówiono dostępu.
Parametr Force jest dodawany do polecenia cmdlet, Export-Csv aby wymusić zapis eksportu do pliku. Polecenie Get-Content cmdlet używa parametru Path do wyświetlenia pliku znajdującego się w bieżącym katalogu.
Przykład 9: Używanie parametru Force z parametrem Dołącz
W tym przykładzie pokazano, jak używać parametrów Force (Wyś) i Append (Dołącz). Po połączeniu tych parametrów niezgodne właściwości obiektu mogą zostać zapisane w pliku CSV.
$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
Wyrażenie tworzy obiekt PSCustomObject z właściwościami Name i Version . Wartości są przechowywane w zmiennej $Content. Zmienna $Content jest wysyłana w dół potoku do polecenia cmdlet Export-Csv.
Export-Csv używa parametru Path i zapisuje ParmFile.csv plik w bieżącym katalogu. Parametr NoTypeInformation usuwa nagłówek informacji #TYPE z danych wyjściowych CSV i nie jest wymagany w programie PowerShell 6.
Inne wyrażenie tworzy obiekt PSCustomObject z właściwościami Name i Edition . Wartości są przechowywane w zmiennej $AdditionalContent. Zmienna $AdditionalContent jest wysyłana w dół potoku do polecenia cmdlet Export-Csv. Parametr Append służy do dodawania danych do pliku. Dołączanie kończy się niepowodzeniem, ponieważ istnieje niezgodność nazwy właściwości między wersjami iwersja.
Parametr Export-CsvForce polecenia cmdlet służy do wymuszania zapisu eksportu do pliku. Właściwość Edition jest odrzucana. Polecenie Import-Csv cmdlet używa parametru Path do wyświetlenia pliku znajdującego się w bieżącym katalogu.
Przykład 10: Eksportowanie do pliku CSV z cudzysłowami wokół dwóch kolumn
Ten przykład konwertuje obiekt DateTime na ciąg CSV.
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
Przykład 11: Eksportowanie do pliku CSV przy użyciu cudzysłowów tylko wtedy, gdy jest to konieczne
Ten przykład konwertuje obiekt DateTime na ciąg CSV.
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
Przykład 12. Konwertowanie tabel skrótów na wolumin CSV
W programie PowerShell w wersji 7.2 lub nowszej podczas eksportowania tabel skrótów do pliku CSV klucze pierwszego tabeli skrótu są serializowane i używane jako nagłówki w danych wyjściowych pliku CSV.
$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"
Przykład 13. Konwertowanie tabel skrótów na woluminy CSV z dodatkowymi właściwościami
W programie PowerShell w wersji 7.2 lub nowszej podczas eksportowania tabeli skrótowej z dodanymi dodatkowymi właściwościami Add-Member lub Select-Object dodatkowe właściwości są również dodawane jako nagłówek w pliku CSV.
$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"
Każda tabela skrótów ma właściwość o nazwie ExtraProp dodanej przez Add-Member , a następnie wyeksportowaną do pliku CSV. Teraz możesz zobaczyć ExtraProp nagłówek w danych wyjściowych pliku CSV.
Jeśli dodana właściwość ma taką samą nazwę jak klucz z tabeli skrótu, klucz ma pierwszeństwo i tylko klucz jest eksportowany do pliku CSV.
Parametry
-Append
Użyj tego parametru, aby Export-Csv dodać dane wyjściowe CSV na końcu określonego pliku. Bez tego parametru podmienia Export-Csv zawartość pliku bez ostrzeżenia.
Ten parametr został wprowadzony w programie Windows PowerShell 3.0.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | False |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Confirm
Prosi o potwierdzenie przed uruchomieniem cmdletu.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | False |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | por |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Delimiter
Określa ogranicznik do oddzielania wartości właściwości. Wartość domyślna to przecinek (,). Wprowadź znak, taki jak dwukropek (:). Aby określić średnik (;), należy ująć go w cudzysłów.
Właściwości parametru
| Typ: | Char |
| Domyślna wartość: | comma (,) |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
Delimiter
| Position: | 1 |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Encoding
Określa kodowanie wyeksportowanego pliku CSV. Wartość domyślna to utf8NoBOM.
Dopuszczalne wartości tego parametru są następujące:
-
ascii: używa kodowania zestawu znaków ASCII (7-bitowych). -
ansi: używa kodowania strony kodowej ANSI dla bieżącej kultury. Ta opcja została dodana -
bigendianunicode: Koduje w formacie UTF-16 wykorzystując porządek bajtów big-endian. -
bigendianutf32: Koduje w formacie UTF-32 przy użyciu kolejności bajtów big-endian. -
oem: używa domyślnego kodowania dla programów MS-DOS i konsoli. -
unicode: Koduje w formacie UTF-16, używając układu bajtów little-endian. -
utf7: koduje w formacie UTF-7. -
utf8: koduje w formacie UTF-8. -
utf8BOM: koduje w formacie UTF-8 za pomocą znacznika kolejności bajtów (BOM) -
utf8NoBOM: Koduje w formacie UTF-8, nie używając znacznika kolejności bajtów (BOM) -
utf32: koduje w formacie UTF-32.
Począwszy od programu PowerShell 6.2, w parametrze Kodowanie można używać również numerycznych identyfikatorów zarejestrowanych stron kodu (na przykład -Encoding 1251) lub nazw tekstowych zarejestrowanych stron kodu (na przykład -Encoding "windows-1251"). Aby uzyskać więcej informacji, zobacz dokumentację platformy .NET dotyczącą Encoding.CodePage.
Począwszy od programu PowerShell 7.4, można użyć wartości
Uwaga / Notatka
UTF-7* nie jest już zalecane do użycia. Od wersji PowerShell 7.1 zapisywane jest ostrzeżenie, jeśli określisz utf7 dla parametru kodowania .
Właściwości parametru
| Typ: | Encoding |
| Domyślna wartość: | UTF8NoBOM |
| Dopuszczalne wartości: | ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32 |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Force
Ten parametr pozwala Export-Csv na nadpisanie plików z atrybutem Tylko do odczytu .
Po połączeniu parametrów Force i Append obiekty, które zawierają niezgodne właściwości, mogą być zapisywane w pliku CSV. Tylko pasujące właściwości są zapisywane w pliku. Niezgodne właściwości są odrzucane.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | False |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-IncludeTypeInformation
Gdy ten parametr jest używany pierwszy wiersz danych wyjściowych CSV zawiera #TYPE po nim w pełni kwalifikowaną nazwę typu obiektu. Na przykład #TYPE System.Diagnostics.Process.
Ten parametr został wprowadzony w programie PowerShell 6.0.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | False |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | ITI |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-InputObject
Określa obiekty, które mają być eksportowane jako ciągi CSV. Wprowadź zmienną zawierającą obiekty lub wpisz polecenie lub wyrażenie, które pobiera obiekty. Można również potokować obiekty do Export-Csv.
Właściwości parametru
| Typ: | PSObject |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowy: | True |
| Wartość z potoku: | True |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
-LiteralPath
Określa ścieżkę do pliku wyjściowego CSV. W przeciwieństwie do Path, wartość parametru LiteralPath jest używana dokładnie tak, jak ją wpisano. Żadne znaki nie są interpretowane jako symbole wieloznaczne. Jeśli ścieżka zawiera znaki ucieczki, należy użyć pojedynczych cudzysłowów. Pojedyncze cudzysłowy wskazują programowi PowerShell, aby nie interpretował żadnych znaków jako sekwencji ucieczki.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | PSPath, LP |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-NoClobber
Użyj tego parametru, aby Export-Csv nie zastępować istniejącego pliku. Domyślnie, jeśli plik istnieje w określonej ścieżce, Export-Csv zastępuje go bez ostrzeżenia.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | False |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | NoOverwrite |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-NoHeader
Gdy ten parametr jest używany, polecenie cmdlet nie zapisuje wiersza nagłówka zawierającego nazwy kolumn do danych wyjściowych.
Ten parametr został dodany w programie PowerShell 7.4.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | False |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | 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.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | False |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | NTI |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Path
Wymagany parametr określający lokalizację do zapisania pliku wyjściowego CSV.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | 0 |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-QuoteFields
Określa nazwy kolumn, które powinny być cytowane. Gdy ten parametr jest używany, tylko określone kolumny są cytowane. Ten parametr został dodany w programie PowerShell 7.0.
Właściwości parametru
| Typ: | String[] |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | QF |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-UseCulture
Używa separatora listy dla bieżącej kultury do oddzielania elementów. Aby znaleźć separator listy dla kultury, użyj następującego polecenia: (Get-Culture).TextInfo.ListSeparator.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | False |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
UseCulture
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-UseQuotes
Określa, kiedy cudzysłowy są używane w plikach CSV. Dopuszczalne wartości:
- Nigdy — nic nie cytuj
- Zawsze — cytuj wszystko (zachowanie domyślne)
- AsNeeded — tylko pola cudzysłowu zawierające znak ogranicznika, podwójny cudzysłów lub znak nowego wiersza
Ten parametr został dodany w programie PowerShell 7.0.
Właściwości parametru
| Typ: | Microsoft.PowerShell.Commands.BaseCsvWritingCommand+QuoteKind |
| Domyślna wartość: | Always |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | UQ |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-WhatIf
Uniemożliwia przetwarzanie polecenia cmdlet lub wprowadzanie zmian. Dane wyjściowe pokazują, co by się stało, gdyby polecenie cmdlet zostało uruchomione.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | False |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | Wi |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
CommonParameters
To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.
Dane wejściowe
PSObject
Do tego polecenia cmdlet można przekazać dowolny obiekt z adapterem Extended Type System (ETS).
Dane wyjściowe
None
To polecenie cmdlet nie zwraca żadnych danych wyjściowych.
Uwagi
Program PowerShell zawiera następujące aliasy dla Export-Csv:
- Wszystkie platformy:
epcsv
Polecenie Export-Csv cmdlet konwertuje przesyłane obiekty na serię ciągów CSV i zapisuje je w określonym pliku tekstowym. Możesz użyć Export-Csv -IncludeTypeInformation polecenia , aby zapisać obiekty w pliku CSV, a następnie użyć Import-Csv polecenia cmdlet , aby utworzyć obiekty z tekstu w pliku CSV.
W pliku CSV każdy obiekt jest reprezentowany przez rozdzielaną znakami listę wartości właściwości obiektu. Wartości właściwości są konwertowane na ciągi znaków za pomocą metody ToString(). Ciągi są reprezentowane przez nazwę wartości właściwości.
Export-Csv -IncludeTypeInformation Nie eksportuje metod obiektu.
Ciągi CSV są danymi wyjściowymi w następujący sposób:
- Jeśli jest używana funkcja IncludeTypeInformation , 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 includeTypeInformation nie jest używany pierwszy ciąg zawiera nagłówki kolumn. Nagłówki zawierają nazwy właściwości pierwszego obiektu jako listę rozdzielaną znakami.
- Pozostałe ciągi zawierają rozdzielane znakami listy wartości właściwości każdego obiektu.
Począwszy od programu PowerShell 6.0 domyślne zachowanie Export-Csv nie polega na dołączaniu #TYPE informacji w pliku CSV i NoTypeInformation.
IncludeTypeInformation może służyć do uwzględnienia #TYPE Informacje i emulować domyślne zachowanie Export-Csv programu PowerShell 6.0.
Po przesłaniu wielu obiektów do Export-Csvprogramu program Export-Csv organizuje plik na podstawie właściwości pierwszego przesłanego obiektu. Jeśli pozostałe obiekty nie mają jednej z określonych właściwości, wartość właściwości tego obiektu jest równa null, zgodnie z dwoma kolejnymi przecinkami. Jeśli pozostałe obiekty mają dodatkowe właściwości, te wartości właściwości nie są uwzględniane w pliku.
Za pomocą Import-Csv polecenia cmdlet można odtworzyć obiekty z ciągów CSV w plikach. Wynikowe obiekty są wersjami CSV oryginalnych obiektów, które składają się z ciągów reprezentujących wartości właściwości i nie zawierają metod.
Polecenia ConvertTo-Csv cmdlet i ConvertFrom-Csv konwertują obiekty na ciągi CSV i z ciągów CSV.
Export-Csv jest taki sam jak ConvertTo-Csv, z tą różnicą, że zapisuje ciągi CSV w pliku.