Export-Csv

Převede objekty na řadu řetězců hodnot oddělených znakem (CSV) a uloží řetězce do souboru.

Syntax

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

Rutina Export-CSV vytvoří soubor CSV objektů, které odešlete. Každý objekt je řádek, který obsahuje seznam hodnot vlastností objektu oddělený znakem. Pomocí této Export-CSV rutiny můžete vytvářet tabulky a sdílet data s programy, které přijímají soubory CSV jako vstup.

Před odesláním Export-CSV do rutiny objekty neformátujte. Pokud Export-CSV obdrží formátované objekty, soubor CSV obsahuje vlastnosti formátu, nikoli vlastnosti objektu. Pokud chcete exportovat pouze vybrané vlastnosti objektu, použijte tuto rutinu Select-Object .

Příklady

Příklad 1: Export vlastností procesu do souboru CSV

Tento příklad vybere Objekty Process s konkrétními vlastnostmi, exportuje objekty do souboru 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

Rutina Get-Process získá objekty Process . Parametr Name filtruje výstup tak, aby zahrnoval pouze objekty procesu WmiPrvSE. Objekty procesu se do rutiny odesílají do kanálu Select-Object . Select-Object pomocí parametru Property vybere podmnožinu vlastností objektu procesu. Objekty procesu se do rutiny odesílají do kanálu Export-Csv . Export-Csv převede objekty procesu na řadu řetězců CSV. Parametr Path určuje, že WmiData.csv soubor je uložen v aktuálním adresáři. Parametr NoTypeInformation odebere hlavičku informací #TYPE z výstupu CSV a není vyžadována v PowerShellu 6. Rutina Import-Csv pomocí parametru Path zobrazí soubor umístěný v aktuálním adresáři.

Příklad 2: Export procesů do souboru s oddělovači

Tento příklad získá objekty Process a exportuje objekty do souboru 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", ...

Rutina Get-Process získá objekty Process . Objekty procesu se do rutiny odesílají do kanálu Export-Csv . Export-Csv převede objekty procesu na řadu řetězců CSV. Parametr Path určuje, že Processes.csv soubor je uložen v aktuálním adresáři. Parametr NoTypeInformation odebere hlavičku informací #TYPE z výstupu CSV a není vyžadována v PowerShellu 6. Rutina Get-Content pomocí parametru Path zobrazí soubor umístěný v aktuálním adresáři.

Příklad 3: Export procesů do souboru s oddělovači středníkem

Tento příklad získá Process objekty a exportuje objekty do souboru s oddělovačem středníku.

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"; ...

Rutina Get-Process získá objekty Process . Objekty procesu se do rutiny odesílají do kanálu Export-Csv . Export-Csv převede objekty procesu na řadu řetězců CSV. Parametr Path určuje, že Processes.csv soubor je uložen v aktuálním adresáři. Parametr Oddělovač určuje středník pro oddělení řetězcových hodnot. Parametr NoTypeInformation odebere hlavičku informací #TYPE z výstupu CSV a není vyžadována v PowerShellu 6. Rutina Get-Content pomocí parametru Path zobrazí soubor umístěný v aktuálním adresáři.

Příklad 4: Export procesů pomocí oddělovače seznamu aktuální jazykové verze

Tento příklad získá Process objekty a exportuje objekty do souboru. Oddělovač je oddělovač seznamu aktuální jazykové verze.

(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", ...

Rutina Get-Culture používá vnořené vlastnosti TextInfo a ListSeparator a zobrazí výchozí oddělovač seznamu aktuální jazykové verze. Rutina Get-Process získá objekty Process . Objekty procesu se do rutiny odesílají do kanálu Export-Csv . Export-Csv převede objekty procesu na řadu řetězců CSV. Parametr Path určuje, že Processes.csv soubor je uložen v aktuálním adresáři. Parametr UseCulture používá jako oddělovač výchozího seznamu aktuální jazykové verze. Parametr NoTypeInformation odebere hlavičku informací #TYPE z výstupu CSV a není vyžadována v PowerShellu 6. Rutina Get-Content pomocí parametru Path zobrazí soubor umístěný v aktuálním adresáři.

Příklad 5: Export procesů s informacemi o typu

Tento příklad vysvětluje, jak do souboru CSV zahrnout informace o záhlaví #TYPE . Hlavička #TYPE je výchozí ve verzích před PowerShellem 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", ...

Rutina Get-Process získá objekty Process . Objekty procesu se do rutiny odesílají do kanálu Export-Csv . Export-Csv převede objekty procesu na řadu řetězců CSV. Parametr Path určuje, že Processes.csv soubor je uložen v aktuálním adresáři. IncludeTypeInformation obsahuje hlavičku informací #TYPE ve výstupu CSV. Rutina Get-Content pomocí parametru Path zobrazí soubor umístěný v aktuálním adresáři.

Příklad 6: Export a připojení objektů do souboru CSV

Tento příklad popisuje, jak exportovat objekty do souboru CSV a pomocí parametru Append přidat objekty do existujícího souboru.

$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"

Rutina Get-Service získá objekty služby. Parametr DisplayName vrátí služby, které obsahují slovo Aplikace. Objekty služby se odesílají do rutiny Select-Object . Select-Object pomocí parametru Property určuje vlastnosti DisplayName a Status . Proměnná $AppService ukládá objekty.

Objekty $AppService se odesílají do rutiny Export-Csv . Export-Csv převede objekty služby na řadu řetězců CSV. Parametr Path určuje, že Services.csv soubor je uložen v aktuálním adresáři. Parametr NoTypeInformation odebere hlavičku informací #TYPE z výstupu CSV a není vyžadována v PowerShellu 6. Rutina Get-Content pomocí parametru Path zobrazí soubor umístěný v aktuálním adresáři.

Rutiny Get-Service a Select-Object rutiny se opakují pro služby, které obsahují slovo Windows. Proměnná $WinService ukládá objekty služby. Rutina Export-Csv pomocí parametru Append určí, že $WinService se objekty přidají do existujícího Services.csv souboru. Rutina Get-Content se opakuje, aby se zobrazil aktualizovaný soubor, který obsahuje připojená data.

Příklad 7: Formátování rutiny v kanálu vytváří neočekávané výsledky

Tento příklad ukazuje, proč není důležité v kanálu používat rutinu formátu. Při přijetí neočekávaného výstupu vyřešte syntaxi kanálu.

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",,,,,

Rutina Get-Date získá objekt DateTime . Objekt se odešle do rutiny Select-Object v kanálu. Select-Object pomocí parametru Property vybere podmnožinu vlastností objektu. Objekt se odešle do rutiny Export-Csv v kanálu. Export-Csv převede objekt do formátu CSV. Parametr Path určuje, že DateTime.csv soubor je uložen v aktuálním adresáři. Parametr NoTypeInformation odebere hlavičku informací #TYPE z výstupu CSV a není vyžadována v PowerShellu 6. Rutina Get-Content pomocí parametru Path zobrazí soubor CSV umístěný v aktuálním adresáři.

Když se rutina Format-Table použije v rámci kanálu k výběru vlastností, obdrží se neočekávané výsledky. Format-Table odesílá objekty formátu tabulky z kanálu do Export-Csv rutiny místo objektu DateTime . Export-Csv převede objekty formátu tabulky na řadu řetězců CSV. Rutina Get-Content zobrazí soubor CSV, který obsahuje objekty formátu tabulky.

Příklad 8: Použití parametru Force k přepsání souborů jen pro čtení

Tento příklad vytvoří prázdný soubor jen pro čtení a použije parametr Force k aktualizaci souboru.

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"; ...

Rutina New-Item používá k vytvoření ReadOnly.csv souboru v aktuálním adresáři parametry Path a ItemType. Rutina Set-ItemProperty používá parametry Name a Value ke změně vlastnosti IsReadOnly souboru na true. Rutina Get-Process získá objekty Process . Objekty procesu se do rutiny odesílají do kanálu Export-Csv . Export-Csv převede objekty procesu na řadu řetězců CSV. Parametr Path určuje, že ReadOnly.csv soubor je uložen v aktuálním adresáři. Parametr NoTypeInformation odebere hlavičku informací #TYPE z výstupu CSV a není vyžadována v PowerShellu 6. Výstup ukazuje, že soubor není zapsán, protože přístup byl odepřen.

Do rutiny se přidá Export-Csv parametr Force, který export vynutí zápis do souboru. Rutina Get-Content pomocí parametru Path zobrazí soubor umístěný v aktuálním adresáři.

Příklad 9: Použití parametru Force s připojením

Tento příklad ukazuje, jak používat parametry Force a Append . Při kombinování těchto parametrů lze neshodované vlastnosti objektu zapsat do souboru 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

Výraz vytvoří PSCustomObject s vlastnostmi Name a Version . Hodnoty jsou uloženy v $Content proměnné. Proměnná $Content se odešle do rutiny Export-Csv v kanálu. Export-Csvpoužívá parametr Path a uloží ParmFile.csv soubor do aktuálního adresáře. Parametr NoTypeInformation odebere hlavičku informací #TYPE z výstupu CSV a není vyžadována v PowerShellu 6.

Jiný výraz vytvoří OBJEKT PSCustomObject s vlastnostmi Name a Edition . Hodnoty jsou uloženy v $AdditionalContent proměnné. Proměnná $AdditionalContent se odešle do rutiny Export-Csv v kanálu. Parametr Append slouží k přidání dat do souboru. Připojení selže, protože mezi verzí a edicí došlo k neshodě názvů vlastností.

Parametr Export-Csv Force rutiny slouží k vynucení zápisu exportu do souboru. Vlastnost Edition se zahodí. Rutina Import-Csv pomocí parametru Path zobrazí soubor umístěný v aktuálním adresáři.

Příklad 10: Export do CSV s uvozovkami kolem dvou sloupců

Tento příklad převede objekt DateTime na řetězec 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

Příklad 11: Export do csv s uvozovkami pouze v případě potřeby

Tento příklad převede objekt DateTime na řetězec 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

Příklad 12: Převod hashovatelných tabulek na CSV

Když v PowerShellu 7.2 a novějším exportujete hashtables do sdíleného svazku clusteru, klíče první hashovatelné tabulky se serializují a použijí se jako hlavičky ve výstupu souboru CSV.

$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"

Příklad 13: Převod hashovatelných tabulek na CSV s dalšími vlastnostmi

Když v PowerShellu 7.2 a novějším exportujete hashtable, který obsahuje další vlastnosti přidané spolu s dalšími vlastnostmi Add-Member , nebo Select-Object se do souboru CSV přidají jako hlavička.

$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ždá zatřiďovací tabulka má vlastnost pojmenovanou podle ExtraPropAdd-Member a pak se exportuje do souboru CSV. Ve výstupu souboru CSV je ExtraProp teď záhlaví.

Pokud má přidaná vlastnost stejný název jako klíč z hashtable, má klíč přednost a exportuje se do souboru CSV pouze klíč.

Parametry

-Append

Tento parametr použijte, aby Export-CSV se výstup CSV přidal na konec zadaného souboru. Bez tohoto parametru Export-CSV nahradí obsah souboru bez upozornění.

Tento parametr byl představen ve Windows PowerShellu 3.0.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Před spuštěním rutiny zobrazí výzvu k potvrzení.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Delimiter

Určuje oddělovač pro oddělení hodnot vlastností. Výchozí hodnota je čárka (,). Zadejte znak, například dvojtečku (:). Chcete-li zadat středník (;), uzavřete ho do uvozovek.

Type:Char
Position:1
Default value:comma (,)
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Encoding

Určuje kódování exportovaného souboru CSV. Výchozí hodnota je utf8NoBOM.

Přijatelné hodnoty pro tento parametr jsou následující:

  • ascii: Používá kódování znakové sady ASCII (7bitová).
  • ansi: Používá kódování pro kódovou stránku ANSI aktuální jazykové verze. Tato možnost byla přidána.
  • bigendianunicode: Kóduje ve formátu UTF-16 pomocí pořadí velkých bajtů.
  • bigendianutf32: Kóduje ve formátu UTF-32 pomocí pořadí velkých bajtů.
  • oem: Používá výchozí kódování pro MS-DOS a konzolové programy.
  • unicode: Kóduje ve formátu UTF-16 pomocí malého bajtového pořadí.
  • utf7: Kóduje ve formátu UTF-7.
  • utf8: Kóduje ve formátu UTF-8.
  • utf8BOM: Kódování ve formátu UTF-8 pomocí značky pořadí bajtů (BOM)
  • utf8NoBOM: Kódování ve formátu UTF-8 bez značky pořadí bajtů (BOM)
  • utf32: Kóduje ve formátu UTF-32.

Počínaje PowerShellem 6.2 umožňuje parametr Kódování také číselná ID registrovaných znakových stránek (jako -Encoding 1251) nebo názvy řetězců registrovaných znakových stránek (například -Encoding "windows-1251"). Další informace najdete v dokumentaci k .NET pro Encoding.CodePage.

Počínaje PowerShellem 7.4 můžete hodnotu parametru Encoding použít Ansi k předání číselného ID pro znakovou stránku ANSI aktuální jazykové verze, aniž byste ji museli zadávat ručně.

Poznámka:

UTF-7* se už nedoporučuje používat. Od PowerShellu 7.1 se při zadání parametru Encoding zapíše utf7 upozornění.

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

Tento parametr umožňuje Export-Csv přepsat soubory atributem Jen pro čtení.

Při kombinování parametrů Force a Append lze objekty obsahující neodpovídající vlastnosti zapsat do souboru CSV. Do souboru se zapisují pouze vlastnosti, které odpovídají. Neodpovídající vlastnosti se zahodí.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IncludeTypeInformation

Pokud se tento parametr použije na prvním řádku výstupu CSV, následuje #TYPE plně kvalifikovaný název typu objektu. Například #TYPE System.Diagnostics.Process.

Tento parametr byl představen v PowerShellu 6.0.

Type:SwitchParameter
Aliases:ITI
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Určuje objekty, které se mají exportovat jako řetězce CSV. Zadejte proměnnou obsahující objekty nebo zadejte příkaz nebo výraz, který objekty získá. Objekty lze také pipetovat do Export-CSV.

Type:PSObject
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-LiteralPath

Určuje cestu k výstupnímu souboru CSV. Na rozdíl od cesty se hodnota parametru LiteralPath používá přesně tak, jak je zadána. Žádné znaky nejsou interpretovány jako zástupné znaky. Pokud cesta obsahuje řídicí znaky, použijte jednoduché uvozovky. Jednoduché uvozovky říkají PowerShellu, aby nepřekládaly žádné znaky jako řídicí sekvence.

Type:String
Aliases:PSPath, LP
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-NoClobber

Tento parametr použijte, Export-CSV aby nepřepsal existující soubor. Ve výchozím nastavení, pokud soubor existuje v zadané cestě, Export-CSV přepíše soubor bez upozornění.

Type:SwitchParameter
Aliases:NoOverwrite
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-NoHeader

Při použití tohoto parametru rutina do výstupu nezapíše řádek záhlaví obsahující názvy sloupců.

Tento parametr byl přidán v PowerShellu 7.4.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-NoTypeInformation

Odebere #TYPE záhlaví informací z výstupu. Tento parametr se stal výchozím nastavením v PowerShellu 6.0 a je součástí zpětné kompatibility.

Type:SwitchParameter
Aliases:NTI
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

Povinný parametr, který určuje umístění pro uložení výstupního souboru CSV.

Type:String
Position:0
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-QuoteFields

Určuje názvy sloupců, které mají být citovány. Při použití tohoto parametru se uvozují pouze zadané sloupce. Tento parametr byl přidán v PowerShellu 7.0.

Type:String[]
Aliases:QF
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseCulture

Použije oddělovač seznamu pro aktuální jazykovou verzi jako oddělovač položek. K vyhledání oddělovače seznamu pro jazykovou verzi použijte následující příkaz: (Get-Culture).TextInfo.ListSeparator.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseQuotes

Určuje, kdy se v souborech CSV použijí uvozovky. Možné hodnoty jsou:

  • Nikdy - nic neuvozujte
  • Vždy – uvozovek vše (výchozí chování)
  • AsNeeded – pouze pole uvozovek, která obsahují znak oddělovače, dvojité uvozovky nebo znak nového řádku

Tento parametr byl přidán v PowerShellu 7.0.

Type:Microsoft.PowerShell.Commands.BaseCsvWritingCommand+QuoteKind
Aliases:UQ
Position:Named
Default value:Always
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Zabrání zpracování nebo provedení změn rutiny. Výstup ukazuje, co by se stalo, kdyby byla rutina spuštěna.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Vstupy

PSObject

Do této rutiny můžete převést libovolný objekt s adaptérem ETS (Extended Type System).

Výstupy

None

Tato rutina nevrátí žádný výstup.

Poznámky

PowerShell obsahuje následující aliasy pro Export-Csv:

  • Všechny platformy:
    • epcsv

Rutina Export-CSV převede objekty, které odešlete, na řadu řetězců CSV a uloží je do zadaného textového souboru. Objekty můžete Export-CSV -IncludeTypeInformation uložit do souboru CSV a pak pomocí Import-Csv rutiny vytvořit objekty z textu v souboru CSV.

V souboru CSV je každý objekt reprezentován seznamem vlastností oddělených znakem hodnot objektu. Hodnoty vlastností jsou převedeny na řetězce pomocí ToString() metoda. Řetězce jsou reprezentovány názvem hodnoty vlastnosti. Export-CSV -IncludeTypeInformation neexportuje metody objektu.

Řetězce CSV jsou výstupem následujícím způsobem:

  • Pokud se používá IncludeTypeInformation , první řetězec obsahuje #TYPE informační hlavičku následovanou plně kvalifikovaným názvem typu objektu. Například #TYPE System.Diagnostics.Process.
  • Pokud IncludeTypeInformation není použit první řetězec obsahuje záhlaví sloupců. Záhlaví obsahují názvy vlastností prvního objektu jako seznam oddělený znakem.
  • Zbývající řetězce obsahují seznamy vlastností jednotlivých objektů oddělené znakem.

Počínaje PowerShellem 6.0 výchozí chování Export-CSV není zahrnout informace #TYPE do souboru CSV a NoTypeInformation se předpokládá. IncludeTypeInformation lze použít k zahrnutí #TYPE Informace a emulovat výchozí chování Export-CSV před PowerShellem 6.0.

Když odešlete více objektů, Export-CSVExport-CSV uspořádá soubor na základě vlastností prvního objektu, který odešlete. Pokud zbývající objekty nemají jednu ze zadaných vlastností, hodnota vlastnosti tohoto objektu je null, jak je reprezentováno dvěma po sobě jdoucími čárkami. Pokud zbývající objekty mají další vlastnosti, tyto hodnoty vlastností nejsou zahrnuty do souboru.

Rutinu Import-Csv můžete použít k opětovnému vytvoření objektů z řetězců CSV v souborech. Výsledné objekty jsou verze CSV původních objektů, které se skládají z řetězcových reprezentací hodnot vlastností a žádné metody.

Tyto ConvertTo-Csv rutiny ConvertFrom-Csv převádějí objekty na řetězce CSV a z řetězců CSV. Export-CSV je stejný jako ConvertTo-CSVs tím rozdílem, že ukládá řetězce CSV do souboru.