Share via


Export-Csv

Converteert objecten naar een reeks tekenreeksen met door komma's gescheiden waarden (CSV) en slaat de tekenreeksen op in een bestand.

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

De Export-CSV cmdlet maakt een CSV-bestand van de objecten die u verzendt. Elk object is een rij met een door komma's gescheiden lijst met de eigenschapswaarden van het object. U kunt de Export-CSV cmdlet gebruiken om spreadsheets te maken en gegevens te delen met programma's die CSV-bestanden als invoer accepteren.

Maak objecten niet op voordat u ze naar de Export-CSV cmdlet verzendt. Als Export-CSV opgemaakte objecten worden ontvangen, bevat het CSV-bestand de indelingseigenschappen in plaats van de objecteigenschappen. Als u alleen geselecteerde eigenschappen van een object wilt exporteren, gebruikt u de Select-Object cmdlet.

Voorbeelden

Voorbeeld 1: proceseigenschappen exporteren naar een CSV-bestand

In dit voorbeeld selecteert u Objecten verwerken met specifieke eigenschappen en exporteert u de objecten naar een CSV-bestand.

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

De Get-Process cmdlet haalt de procesobjecten op. De parameter Name filtert de uitvoer zodat alleen de WmiPrvSE-procesobjecten worden opgenomen. De procesobjecten worden via de pijplijn naar de Select-Object cmdlet verzonden. Select-Object gebruikt de parameter Eigenschap om een subset van de eigenschappen van procesobjecten te selecteren. De procesobjecten worden via de pijplijn naar de Export-Csv cmdlet verzonden. Export-Csv converteert de procesobjecten naar een reeks CSV-tekenreeksen. De path parameter geeft aan dat het WmiData.csv bestand wordt opgeslagen in de huidige map. De parameter NoTypeInformation verwijdert de #TYPE informatieheader uit de CSV-uitvoer en is niet vereist in PowerShell 6. De Import-Csv cmdlet gebruikt de parameter Path om het bestand in de huidige map weer te geven.

Voorbeeld 2: processen exporteren naar een bestand met komma's

In dit voorbeeld worden procesobjecten opgehaald en geëxporteerd naar een CSV-bestand.

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

De Get-Process cmdlet haalt Procesobjecten op. De procesobjecten worden via de pijplijn naar de Export-Csv cmdlet verzonden. Export-Csv converteert de procesobjecten naar een reeks CSV-tekenreeksen. De path parameter geeft aan dat het Processes.csv bestand wordt opgeslagen in de huidige map. De parameter NoTypeInformation verwijdert de #TYPE informatieheader uit de CSV-uitvoer en is niet vereist in PowerShell 6. De Get-Content cmdlet gebruikt de parameter Path om het bestand in de huidige map weer te geven.

Voorbeeld 3: processen exporteren naar een bestand met scheidingstekens door puntkomma's

In dit voorbeeld worden procesobjecten opgehaald en geëxporteerd naar een bestand met een puntkommascheidingsteken.

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

De Get-Process cmdlet haalt Procesobjecten op. De procesobjecten worden via de pijplijn naar de Export-Csv cmdlet verzonden. Export-Csv converteert de procesobjecten naar een reeks CSV-tekenreeksen. De path parameter geeft aan dat het Processes.csv bestand wordt opgeslagen in de huidige map. De parameter Delimiter geeft een puntkomma op om de tekenreekswaarden te scheiden. De parameter NoTypeInformation verwijdert de #TYPE informatieheader uit de CSV-uitvoer en is niet vereist in PowerShell 6. De Get-Content cmdlet gebruikt de parameter Path om het bestand in de huidige map weer te geven.

Voorbeeld 4: processen exporteren met het lijstscheidingsteken van de huidige cultuur

In dit voorbeeld worden procesobjecten opgehaald en geëxporteerd naar een bestand. Het scheidingsteken is het lijstscheidingsteken van de huidige cultuur.

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

De Get-Culture cmdlet gebruikt de geneste eigenschappen TextInfo en ListSeparator en geeft het standaardlijstscheidingsteken van de huidige cultuur weer. De Get-Process cmdlet haalt Procesobjecten op. De procesobjecten worden via de pijplijn naar de Export-Csv cmdlet verzonden. Export-Csv converteert de procesobjecten naar een reeks CSV-tekenreeksen. De path parameter geeft aan dat het Processes.csv bestand wordt opgeslagen in de huidige map. De parameter UseCulture gebruikt het standaardlijstscheidingsteken van de huidige cultuur als scheidingsteken. De parameter NoTypeInformation verwijdert de #TYPE informatieheader uit de CSV-uitvoer en is niet vereist in PowerShell 6. De Get-Content cmdlet gebruikt de parameter Path om het bestand in de huidige map weer te geven.

Voorbeeld 5: Processen exporteren met typegegevens

In dit voorbeeld wordt uitgelegd hoe u de #TYPE-headergegevens in een CSV-bestand opneemt. De #TYPE-header is de standaardwaarde in versies vóór 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", ...

De Get-Process cmdlet haalt Procesobjecten op. De procesobjecten worden via de pijplijn naar de Export-Csv cmdlet verzonden. Export-Csv converteert de procesobjecten naar een reeks CSV-tekenreeksen. De path parameter geeft aan dat het Processes.csv bestand wordt opgeslagen in de huidige map. IncludeTypeInformation bevat de #TYPE informatieheader in de CSV-uitvoer. De Get-Content cmdlet gebruikt de parameter Path om het bestand in de huidige map weer te geven.

Voorbeeld 6: objecten exporteren en toevoegen aan een CSV-bestand

In dit voorbeeld wordt beschreven hoe u objecten exporteert naar een CSV-bestand en de parameter Toevoegen gebruikt om objecten toe te voegen aan een bestaand bestand.

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

De Get-Service cmdlet haalt serviceobjecten op. De parameter DisplayName retourneert services die het woord Toepassing bevatten. De serviceobjecten worden door de pijplijn naar de Select-Object cmdlet verzonden. Select-Object gebruikt de parameter Property om de eigenschappen DisplayName en Status op te geven. Met de $AppService variabele worden de objecten opgeslagen.

De $AppService objecten worden door de pijplijn naar de Export-Csv cmdlet verzonden. Export-Csv converteert de serviceobjecten naar een reeks CSV-tekenreeksen. De path parameter geeft aan dat het Services.csv bestand wordt opgeslagen in de huidige map. De parameter NoTypeInformation verwijdert de #TYPE informatieheader uit de CSV-uitvoer en is niet vereist in PowerShell 6. De Get-Content cmdlet gebruikt de parameter Path om het bestand in de huidige map weer te geven.

De Get-Service cmdlets en Select-Object worden herhaald voor services die het woord Windows bevatten. Met de $WinService variabele worden de serviceobjecten opgeslagen. De Export-Csv cmdlet gebruikt de parameter Toevoegen om op te geven dat de $WinService objecten worden toegevoegd aan het bestaande Services.csv-bestand. De Get-Content cmdlet wordt herhaald om het bijgewerkte bestand weer te geven dat de toegevoegde gegevens bevat.

Voorbeeld 7: De cmdlet formatteren in een pijplijn zorgt voor onverwachte resultaten

In dit voorbeeld ziet u waarom het belangrijk is om geen indelings-cmdlet in een pijplijn te gebruiken. Wanneer er onverwachte uitvoer wordt ontvangen, moet u problemen met de pijplijnsyntaxis oplossen.

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

Met de Get-Date cmdlet wordt het object DateTime opgehaald. Het object wordt door de pijplijn naar de Select-Object cmdlet verzonden. Select-Object gebruikt de parameter Eigenschap om een subset van objecteigenschappen te selecteren. Het object wordt door de pijplijn naar de Export-Csv cmdlet verzonden. Export-Csv converteert het object naar een CSV-indeling. De path parameter geeft aan dat het DateTime.csv bestand wordt opgeslagen in de huidige map. De parameter NoTypeInformation verwijdert de #TYPE informatieheader uit de CSV-uitvoer en is niet vereist in PowerShell 6. De Get-Content cmdlet gebruikt de parameter Path om het CSV-bestand in de huidige map weer te geven.

Wanneer de Format-Table cmdlet in de pijplijn wordt gebruikt om eigenschappen te selecteren, worden onverwachte resultaten ontvangen. Format-Table verzendt tabelindelingsobjecten in de pijplijn naar de Export-Csv cmdlet in plaats van het datetime-object . Export-Csv converteert de tabelindelingsobjecten naar een reeks CSV-tekenreeksen. De Get-Content cmdlet geeft het CSV-bestand weer dat de tabelindelingsobjecten bevat.

Voorbeeld 8: de parameter Force gebruiken om alleen-lezenbestanden te overschrijven

In dit voorbeeld wordt een leeg bestand met het kenmerk Alleen-lezen gemaakt en wordt de parameter Force gebruikt om het bestand bij te werken.

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

De New-Item cmdlet gebruikt de parameters Path en ItemType om het ReadOnly.csv-bestand in de huidige map te maken. De Set-ItemProperty cmdlet gebruikt de parameters Name en Value om de eigenschap IsReadOnly van het bestand te wijzigen in true. De Get-Process cmdlet haalt Procesobjecten op. De procesobjecten worden via de pijplijn naar de Export-Csv cmdlet verzonden. Export-Csv converteert de procesobjecten naar een reeks CSV-tekenreeksen. De path parameter geeft aan dat het ReadOnly.csv bestand wordt opgeslagen in de huidige map. De parameter NoTypeInformation verwijdert de #TYPE informatieheader uit de CSV-uitvoer en is niet vereist in PowerShell 6. De uitvoer laat zien dat het bestand niet is geschreven omdat de toegang wordt geweigerd.

De parameter Force wordt toegevoegd aan de Export-Csv cmdlet om af te dwingen dat de export naar het bestand schrijft. De Get-Content cmdlet gebruikt de parameter Path om het bestand in de huidige map weer te geven.

Voorbeeld 9: de parameter Force gebruiken met Toevoegen

In dit voorbeeld ziet u hoe u de parameters Force en Append gebruikt. Wanneer deze parameters worden gecombineerd, kunnen niet-overeenkomende objecteigenschappen naar een CSV-bestand worden geschreven.

$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

Een expressie maakt het PSCustomObject met de eigenschappen Naam en Versie . De waarden worden opgeslagen in de $Content variabele. De $Content variabele wordt via de pijplijn naar de Export-Csv cmdlet verzonden. Export-Csv gebruikt de parameter Path en slaat het ParmFile.csv-bestand op in de huidige map. De parameter NoTypeInformation verwijdert de #TYPE informatieheader uit de CSV-uitvoer en is niet vereist in PowerShell 6.

Met een andere expressie wordt een PSCustomObject gemaakt met de eigenschappen Name en Edition . De waarden worden opgeslagen in de $AdditionalContent variabele. De $AdditionalContent variabele wordt via de pijplijn naar de Export-Csv cmdlet verzonden. De parameter Toevoegen wordt gebruikt om de gegevens toe te voegen aan het bestand. Het toevoegen mislukt omdat de naam van een eigenschap niet overeenkomt tussen versie en editie.

De Export-Csv cmdlet Force parameter wordt gebruikt om de export af te dwingen schrijven naar het bestand. De eigenschap Edition wordt verwijderd. De Import-Csv cmdlet gebruikt de parameter Path om het bestand in de huidige map weer te geven.

Voorbeeld 10: Exporteren naar CSV met aanhalingstekens rond twee kolommen

In dit voorbeeld wordt een DateTime-object geconverteerd naar een CSV-tekenreeks.

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

Voorbeeld 11: alleen exporteren naar CSV met aanhalingstekens wanneer dat nodig is

In dit voorbeeld wordt een DateTime-object geconverteerd naar een CSV-tekenreeks.

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

Parameters

-Append

Gebruik deze parameter om Export-CSV CSV-uitvoer toe te voegen aan het einde van het opgegeven bestand. Zonder deze parameter vervangt Export-CSV u de bestandsinhoud zonder waarschuwing.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

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

-Confirm

Hiermee wordt u gevraagd om bevestiging voordat u de cmdlet uitvoert.

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

-Delimiter

Hiermee geeft u een scheidingsteken om de eigenschapswaarden te scheiden. De standaardwaarde is een komma (,). Voer een teken in, zoals een dubbele punt (:). Als u een puntkomma (;) wilt opgeven, plaatst u deze tussen aanhalingstekens.

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

-Encoding

Hiermee geeft u de codering voor het geëxporteerde CSV-bestand. De standaardwaarde is utf8NoBOM.

De acceptabele waarden voor deze parameter zijn als volgt:

  • ascii: Gebruikt de codering voor de ASCII-tekenset (7-bits).
  • bigendianunicode: Codeert in UTF-16-indeling met behulp van de bytevolgorde big-endian.
  • bigendianutf32: Codeert in UTF-32-indeling met behulp van de bytevolgorde big-endian.
  • oem: Gebruikt de standaardcodering voor MS-DOS en consoleprogramma's.
  • unicode: Codeert in UTF-16-indeling met behulp van de bytevolgorde little-endian.
  • utf7: Codeert in UTF-7-indeling.
  • utf8: Codeert in UTF-8-indeling.
  • utf8BOM: Codeert in UTF-8-indeling met Byte Order Mark (BOM)
  • utf8NoBOM: Codeert in UTF-8-indeling zonder Byte Order Mark (BOM)
  • utf32: Codeert in UTF-32-indeling.

Vanaf PowerShell 6.2 staat de coderingsparameter ook numerieke id's toe van geregistreerde codepagina's (zoals -Encoding 1251) of tekenreeksnamen van geregistreerde codepagina's (zoals -Encoding "windows-1251"). Zie de .NET-documentatie voor Encoding.CodePage voor meer informatie.

Notitie

UTF-7* wordt niet meer aanbevolen om te gebruiken. Vanaf PowerShell 7.1 wordt er een waarschuwing geschreven als u opgeeft utf7 voor de coderingsparameter .

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

Met deze parameter kunnen Export-Csv bestanden met het kenmerk Alleen-lezen worden overschreven.

Wanneer de parameters Force en Append worden gecombineerd, kunnen objecten met niet-overeenkomende eigenschappen naar een CSV-bestand worden geschreven. Alleen de eigenschappen die overeenkomen, worden naar het bestand geschreven. De niet-overeenkomende eigenschappen worden verwijderd.

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

-IncludeTypeInformation

Wanneer deze parameter wordt gebruikt, bevat de eerste regel van de CSV-uitvoer #TYPE gevolgd door de volledig gekwalificeerde naam van het objecttype. bijvoorbeeld #TYPE System.Diagnostics.Process.

Deze parameter is geïntroduceerd in PowerShell 6.0.

Type:SwitchParameter
Aliases:ITI
Position:Named
Default value:#TYPE <Object>
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Hiermee geeft u de objecten te exporteren als CSV-tekenreeksen. Voer een variabele in die de objecten bevat of typ een opdracht of expressie waarmee de objecten worden opgehaald. U kunt objecten ook doorsluisen naar Export-CSV.

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

-LiteralPath

Hiermee geeft u het pad naar het CSV-uitvoerbestand. In tegenstelling tot Path wordt de waarde van de parameter LiteralPath precies gebruikt zoals deze is getypt. Geen tekens worden geïnterpreteerd als jokertekens. Als het pad escape-tekens bevat, gebruikt u enkele aanhalingstekens. Enkele aanhalingstekens geven PowerShell aan dat geen tekens als escape-reeksen worden geïnterpreteerd.

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

-NoClobber

Gebruik deze parameter zodat Export-CSV een bestaand bestand niet wordt overschreven. Als het bestand in het opgegeven pad bestaat, Export-CSV overschrijft het bestand standaard zonder waarschuwing.

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

-NoTypeInformation

Hiermee verwijdert u de #TYPE informatieheader uit de uitvoer. Deze parameter is de standaardwaarde geworden in PowerShell 6.0 en is opgenomen voor achterwaartse compatibiliteit.

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

-Path

Een vereiste parameter die de locatie opgeeft voor het opslaan van het CSV-uitvoerbestand.

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

-QuoteFields

Hiermee geeft u de namen van de kolommen die moeten worden geciteerd. Wanneer deze parameter wordt gebruikt, worden alleen de opgegeven kolommen geciteerd. Deze parameter is toegevoegd in PowerShell 7.0.

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

-UseCulture

Gebruikt het lijstscheidingsteken voor de huidige cultuur als het itemscheidingsteken. Gebruik de volgende opdracht om het lijstscheidingsteken voor een cultuur te vinden: (Get-Culture).TextInfo.ListSeparator.

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

-UseQuotes

Hiermee geeft u op wanneer aanhalingstekens worden gebruikt in de CSV-bestanden. Mogelijke waarden zijn:

  • Nooit - niets citeren
  • Altijd: alles citeren (standaardgedrag)
  • AsNeeded: alleen aanhalingstekens die een scheidingsteken bevatten

Deze parameter is toegevoegd in PowerShell 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

Hiermee voorkomt u dat de cmdlet wordt verwerkt of wijzigingen aanbrengt. In de uitvoer ziet u wat er zou gebeuren als de cmdlet zou worden uitgevoerd.

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

Invoerwaarden

PSObject

U kunt elk object met een ETS-adapter (Extended Type System) doorspeppen naar Export-CSV.

Uitvoerwaarden

String

De CSV-lijst wordt verzonden naar het bestand dat is opgegeven in de parameter Path.

Notities

De Export-CSV cmdlet converteert de objecten die u verzendt naar een reeks CSV-tekenreeksen en slaat deze op in het opgegeven tekstbestand. U kunt gebruiken Export-CSV -IncludeTypeInformation om objecten op te slaan in een CSV-bestand en vervolgens de Import-Csv cmdlet gebruiken om objecten te maken op basis van de tekst in het CSV-bestand.

In het CSV-bestand wordt elk object vertegenwoordigd door een door komma's gescheiden lijst met de eigenschapswaarden van het object. De eigenschapswaarden worden geconverteerd naar tekenreeksen met behulp van de methode ToString( ). De tekenreeksen worden vertegenwoordigd door de naam van de eigenschapswaarde. Export-CSV -IncludeTypeInformation exporteert de methoden van het object niet.

De CSV-tekenreeksen worden als volgt uitgevoerd:

  • Als IncludeTypeInformation wordt gebruikt, bevat de eerste tekenreeks de #TYPE informatieheader gevolgd door de volledig gekwalificeerde naam van het objecttype. bijvoorbeeld #TYPE System.Diagnostics.Process.
  • Als IncludeTypeInformation niet wordt gebruikt, bevat de eerste tekenreeks de kolomkoppen. De kopteksten bevatten de eigenschapsnamen van het eerste object als een door komma's gescheiden lijst.
  • De resterende tekenreeksen bevatten door komma's gescheiden lijsten met de eigenschapswaarden van elk object.

Vanaf PowerShell 6.0 is het standaardgedrag van Export-CSV om de #TYPE informatie niet op te nemen in het CSV-bestand en NoTypeInformation wordt geïmpliceerd. IncludeTypeInformation kan worden gebruikt om de #TYPE-informatie op te nemen en het standaardgedrag van Export-CSV vóór PowerShell 6.0 na te bootsen.

Wanneer u meerdere objecten verzendt naar Export-CSV, Export-CSV wordt het bestand ingedeeld op basis van de eigenschappen van het eerste object dat u verzendt. Als de resterende objecten niet een van de opgegeven eigenschappen hebben, is de eigenschapswaarde van dat object null, zoals aangegeven door twee opeenvolgende komma's. Als de resterende objecten aanvullende eigenschappen hebben, worden deze eigenschapswaarden niet opgenomen in het bestand.

U kunt de Import-Csv cmdlet gebruiken om objecten van de CSV-tekenreeksen in de bestanden opnieuw te maken. De resulterende objecten zijn CSV-versies van de oorspronkelijke objecten die bestaan uit tekenreeksweergaven van de eigenschapswaarden en geen methoden.

Met de ConvertTo-Csv cmdlets en ConvertFrom-Csv worden objecten geconverteerd naar CSV-tekenreeksen en vanuit CSV-tekenreeksen. Export-CSV is hetzelfde als ConvertTo-CSV, behalve dat de CSV-tekenreeksen in een bestand worden opgeslagen.