Export-Csv
Hiermee worden objecten geconverteerd naar een reeks tekenreeksen met door tekens gescheiden waarden (CSV) en worden de tekenreeksen opgeslagen in een bestand.
Syntaxis
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
De Export-CSV
cmdlet maakt een CSV-bestand van de objecten die u verzendt. Elk object is een rij met een door tekens 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
er 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 worden procesobjecten met specifieke eigenschappen geselecteerd en worden de objecten geëxporteerd 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 naar de Select-Object
cmdlet verzonden. Select-Object
gebruikt de parameter Eigenschap om een subset van procesobjecteigenschappen te selecteren. De procesobjecten worden naar de Export-Csv
cmdlet verzonden. Export-Csv
converteert de procesobjecten naar een reeks CSV-tekenreeksen. De parameter Path 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 weer te geven dat zich in de huidige map bevindt.
Voorbeeld 2: Processen exporteren naar een bestand met door komma's gescheiden bestanden
In dit voorbeeld worden procesobjecten opgehaald en worden de objecten 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", ...
Met de Get-Process
cmdlet worden procesobjecten opgehaald. De procesobjecten worden naar de Export-Csv
cmdlet verzonden. Export-Csv
converteert de procesobjecten naar een reeks CSV-tekenreeksen. De parameter Path 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 weer te geven dat zich in de huidige map bevindt.
Voorbeeld 3: Processen exporteren naar een door puntkomma's gescheiden bestand
In dit voorbeeld worden procesobjecten opgehaald en worden de objecten 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"; ...
Met de Get-Process
cmdlet worden procesobjecten opgehaald. De procesobjecten worden naar de Export-Csv
cmdlet verzonden. Export-Csv
converteert de procesobjecten naar een reeks CSV-tekenreeksen. De parameter Path geeft aan dat het Processes.csv
bestand wordt opgeslagen in de huidige map. De parameter Scheidingsteken 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 weer te geven dat zich in de huidige map bevindt.
Voorbeeld 4: Processen exporteren met behulp van het lijstscheidingsteken van de huidige cultuur
In dit voorbeeld worden procesobjecten opgehaald en worden de objecten 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 maakt gebruik van de geneste eigenschappen TextInfo en ListSeparator en geeft het standaardlijstscheidingsteken van de huidige cultuur weer. Met de Get-Process
cmdlet worden procesobjecten opgehaald. De procesobjecten worden naar de Export-Csv
cmdlet verzonden. Export-Csv
converteert de procesobjecten naar een reeks CSV-tekenreeksen. De parameter Path 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 weer te geven dat zich in de huidige map bevindt.
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 standaardversie van 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", ...
Met de Get-Process
cmdlet worden procesobjecten opgehaald. De procesobjecten worden naar de Export-Csv
cmdlet verzonden. Export-Csv
converteert de procesobjecten naar een reeks CSV-tekenreeksen. De parameter Path 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 weer te geven dat zich in de huidige map bevindt.
Voorbeeld 6: Objecten exporteren en toevoegen aan een CSV-bestand
In dit voorbeeld wordt beschreven hoe u objecten naar een CSV-bestand exporteert 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 via de pijplijn naar de Select-Object
cmdlet verzonden. Select-Object
gebruikt de parameter Eigenschap om de eigenschappen DisplayName en Status op te geven. De $AppService
variabele slaat de objecten op.
De $AppService
objecten worden via de pijplijn naar de Export-Csv
cmdlet verzonden. Export-Csv
converteert de serviceobjecten naar een reeks CSV-tekenreeksen. De parameter Path 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 weer te geven dat zich in de huidige map bevindt.
De Get-Service
en Select-Object
cmdlets worden herhaald voor services die het woord Windows bevatten. De $WinService
variabele slaat de serviceobjecten op. 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: Cmdlet formatteren in een pijplijn maakt onverwachte resultaten
In dit voorbeeld ziet u waarom het belangrijk is om geen indelings-cmdlet in een pijplijn te gebruiken. Wanneer onverwachte uitvoer wordt ontvangen, moet u problemen met de syntaxis van de pijplijn 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",,,,,
De Get-Date
cmdlet haalt het DateTime-object op. Het object wordt naar de pijplijn verzonden naar de Select-Object
cmdlet. Select-Object
gebruikt de parameter Eigenschap om een subset van objecteigenschappen te selecteren. Het object wordt naar de pijplijn verzonden naar de Export-Csv
cmdlet. Export-Csv
converteert het object naar een CSV-indeling. De parameter Path 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 weer te geven dat zich in de huidige map bevindt.
Wanneer de Format-Table
cmdlet in de pijplijn wordt gebruikt om eigenschappen te selecteren, worden onverwachte resultaten ontvangen. Format-Table
verzendt tabelopmaakobjecten omlaag 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 Naam en Waarde om de eigenschap IsReadOnly van het bestand te wijzigen in waar. Met de Get-Process
cmdlet worden procesobjecten opgehaald. De procesobjecten worden naar de Export-Csv
cmdlet verzonden.
Export-Csv
converteert de procesobjecten naar een reeks CSV-tekenreeksen. De parameter Path 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. In de uitvoer ziet u dat het bestand niet is geschreven omdat de toegang wordt geweigerd.
De parameter Force wordt toegevoegd aan de Export-Csv
cmdlet om te forceren dat de export naar het bestand schrijft. De Get-Content
cmdlet gebruikt de parameter Path om het bestand weer te geven dat zich in de huidige map bevindt.
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
Met een expressie maakt u 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.
Een andere expressie maakt een PSCustomObject 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 aan het bestand toe te voegen. De toevoeg mislukt omdat er een eigenschapsnaam niet overeenkomt tussen versie en editie.
De Export-Csv
parameter Force van de cmdlet wordt gebruikt om de export af te dwingen naar het bestand te schrijven. De eigenschap Edition wordt verwijderd. De Import-Csv
cmdlet gebruikt de parameter Path om het bestand weer te geven dat zich in de huidige map bevindt.
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: Exporteren naar CSV met alleen 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
Voorbeeld 12: Hashtables converteren naar CSV
Wanneer u hashtabellen naar CSV exporteert, worden in PowerShell 7.2 en hoger de sleutels van de eerste hashtabel geserialiseerd en gebruikt als headers in de uitvoer van het CSV-bestand.
$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"
Voorbeeld 13: Hashtables converteren naar CSV met aanvullende eigenschappen
Wanneer u in PowerShell 7.2 en hoger een hashtabel exporteert waaraan aanvullende eigenschappen zijn toegevoegd Add-Member
of Select-Object
de aanvullende eigenschappen ook worden toegevoegd als koptekst in het CSV-bestand.
$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"
Elke hashtabel heeft een eigenschap met de naam ExtraProp
toegevoegd Add-Member
en vervolgens geëxporteerd naar CSV. U kunt zien ExtraProp
dat het nu een header is in de uitvoer van het CSV-bestand.
Als een toegevoegde eigenschap dezelfde naam heeft als een sleutel uit de hashtabel, heeft de sleutel voorrang en wordt alleen de sleutel geëxporteerd naar CSV.
Parameters
-Append
Gebruik deze parameter zodat Export-CSV
CSV-uitvoer wordt toegevoegd aan het einde van het opgegeven bestand. Zonder deze parameter Export-CSV
vervangt u de bestandsinhoud zonder waarschuwing.
Deze parameter is geïntroduceerd in Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Confirm
Hiermee wordt u gevraagd om bevestiging voordat u de cmdlet uitvoert.
Type: | SwitchParameter |
Aliassen: | cf |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Delimiter
Hiermee geeft u een scheidingsteken op 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 (,) |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | 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).ansi
: Gebruikt de codering voor de ANSI-codepagina van de huidige cultuur. Deze optie is toegevoegdbigendianunicode
: 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
: maakt gebruik van 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.
Vanaf PowerShell 7.4 kunt u de Ansi
waarde voor de coderingsparameter gebruiken om de numerieke id voor de ANSI-codepagina van de huidige cultuur door te geven zonder deze handmatig op te geven.
Notitie
UTF-7* wordt niet meer aanbevolen om te gebruiken. Vanaf PowerShell 7.1 wordt een waarschuwing geschreven als u opgeeft utf7
voor de coderingsparameter .
Type: | Encoding |
Geaccepteerde waarden: | ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32 |
Position: | Named |
Default value: | UTF8NoBOM |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Force
Met deze parameter kunt u Export-Csv
bestanden overschrijven met het kenmerk Alleen-lezen .
Wanneer geforceerde en toevoegparameters worden gecombineerd, kunnen objecten met niet-overeenkomende eigenschappen worden geschreven naar een CSV-bestand. Alleen de eigenschappen die overeenkomen, worden naar het bestand geschreven. De niet-overeenkomende eigenschappen worden verwijderd.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-IncludeTypeInformation
Wanneer deze parameter wordt gebruikt, bevat #TYPE
de eerste regel van de CSV-uitvoer de volledige gekwalificeerde naam van het objecttype. Bijvoorbeeld: #TYPE System.Diagnostics.Process
.
Deze parameter is geïntroduceerd in PowerShell 6.0.
Type: | SwitchParameter |
Aliassen: | ITI |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-InputObject
Hiermee geeft u de objecten die moeten worden geëxporteerd 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 |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | 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. Er worden geen tekens geïnterpreteerd als jokertekens. Als het pad escapetekens bevat, gebruikt u enkele aanhalingstekens. Enkele aanhalingstekens geven PowerShell aan dat er geen tekens als escapereeksen moeten worden geïnterpreteerd.
Type: | String |
Aliassen: | PSPath, LP |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | 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 |
Aliassen: | NoOverwrite |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-NoHeader
Wanneer deze parameter wordt gebruikt, schrijft de cmdlet geen veldnamenrij met de kolomnamen naar de uitvoer.
Deze parameter is toegevoegd in PowerShell 7.4.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-NoTypeInformation
Hiermee verwijdert u de #TYPE
informatieheader uit de uitvoer. Deze parameter werd de standaardwaarde in PowerShell 6.0 en is opgenomen voor achterwaartse compatibiliteit.
Type: | SwitchParameter |
Aliassen: | NTI |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Path
Een vereiste parameter waarmee de locatie wordt opgegeven voor het opslaan van het CSV-uitvoerbestand.
Type: | String |
Position: | 0 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-QuoteFields
Hiermee geeft u de namen op 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[] |
Aliassen: | QF |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-UseCulture
Hiermee gebruikt u het lijstscheidingsteken voor de huidige cultuur als het scheidingsteken voor items. Gebruik de volgende opdracht om het lijstscheidingsteken voor een cultuur te vinden: (Get-Culture).TextInfo.ListSeparator
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-UseQuotes
Hiermee geeft u op wanneer aanhalingstekens worden gebruikt in de CSV-bestanden. Mogelijke waarden zijn:
- Nooit - citeer niets
- Altijd - alles citeren (standaardgedrag)
- AsNeeded: alleen aanhalingstekens met een scheidingsteken, dubbel aanhalingsteken of nieuwlijnteken
Deze parameter is toegevoegd in PowerShell 7.0.
Type: | Microsoft.PowerShell.Commands.BaseCsvWritingCommand+QuoteKind |
Aliassen: | UQ |
Position: | Named |
Default value: | Always |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | 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 werd uitgevoerd.
Type: | SwitchParameter |
Aliassen: | wi |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
Invoerwaarden
U kunt elk object met een ETS-adapter (Extended Type System) doorsluisen naar deze cmdlet.
Uitvoerwaarden
None
Deze cmdlet retourneert geen uitvoer.
Notities
PowerShell bevat de volgende aliassen voor Export-Csv
:
- Alle platforms:
epcsv
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 Export-CSV -IncludeTypeInformation
objecten opslaan 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 tekens 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 informatiekop, 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 tekens gescheiden lijst.
- De resterende tekenreeksen bevatten door tekens gescheiden lijsten van de eigenschapswaarden van elk object.
Vanaf PowerShell 6.0 is het standaardgedrag Export-CSV
om de #TYPE gegevens in het CSV-bestand niet op te nemen 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 te emuleren.
Wanneer u meerdere objecten naar Export-CSV
verzendt, Export-CSV
ordent u het bestand op basis van de eigenschappen van het eerste object dat u verzendt. Als de resterende objecten geen van de opgegeven eigenschappen hebben, is de eigenschapswaarde van dat object null, zoals vertegenwoordigd 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 opnieuw te maken van de CSV-tekenreeksen in de bestanden. De resulterende objecten zijn CSV-versies van de oorspronkelijke objecten die bestaan uit tekenreeksweergaven van de eigenschapswaarden en geen methoden.
De ConvertTo-Csv
en ConvertFrom-Csv
cmdlets converteren objecten naar CSV-tekenreeksen en van CSV-tekenreeksen. Export-CSV
is hetzelfde als ConvertTo-CSV
, behalve dat de CSV-tekenreeksen in een bestand worden opgeslagen.