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
[[-Path] <string>]
[[-Delimiter] <char>]
-InputObject <psobject>
[-LiteralPath <string>]
[-Force]
[-NoClobber]
[-Encoding <string>]
[-Append]
[-NoTypeInformation]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Export-Csv
[[-Path] <string>]
-InputObject <psobject>
[-LiteralPath <string>]
[-Force]
[-NoClobber]
[-Encoding <string>]
[-Append]
[-UseCulture]
[-NoTypeInformation]
[-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 cmdlet Export-CSV
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 cmdlet Export-CSV
verzendt. Als Export-CSV
opgemaakte objecten ontvangt, bevat het CSV-bestand de indelingseigenschappen in plaats van de objecteigenschappen. Als u alleen geselecteerde eigenschappen van een object wilt exporteren, gebruikt u de cmdlet Select-Object
.
Voorbeelden
Voorbeeld 1: Proceseigenschappen exporteren naar een CSV-bestand
In dit voorbeeld selecteert u Proces objecten met specifieke eigenschappen, waarmee de objecten worden 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 cmdlet Get-Process
haalt de Process-objecten op. De parameter Name filtert de uitvoer zodat alleen de WmiPrvSE-procesobjecten worden opgenomen. De procesobjecten worden naar de pijplijn verzonden naar de cmdlet Select-Object
.
Select-Object
gebruikt de parameter Eigenschap om een subset van de eigenschappen van het procesobject te selecteren. De procesobjecten worden naar de pijplijn verzonden naar de cmdlet Export-Csv
.
Export-Csv
converteert de procesobjecten naar een reeks CSV-tekenreeksen. De parameter Pad 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 cmdlet Import-Csv
gebruikt de parameter Path om het bestand in de huidige map weer te geven.
Voorbeeld 2: Processen exporteren naar een bestand met door komma's gescheiden bestanden
In dit voorbeeld wordt Proces objecten 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", ...
De cmdlet Get-Process
haalt Process-objecten op. De procesobjecten worden naar de pijplijn verzonden naar de cmdlet Export-Csv
.
Export-Csv
converteert de procesobjecten naar een reeks CSV-tekenreeksen. De parameter Pad 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 cmdlet Get-Content
gebruikt de parameter Path om het bestand in de huidige map weer te geven.
Voorbeeld 3: Processen exporteren naar een door puntkomma's gescheiden bestand
In dit voorbeeld wordt Proces objecten 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"; ...
De cmdlet Get-Process
haalt Process-objecten op. De procesobjecten worden naar de pijplijn verzonden naar de cmdlet Export-Csv
.
Export-Csv
converteert de procesobjecten naar een reeks CSV-tekenreeksen. De parameter Pad 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 cmdlet Get-Content
gebruikt de parameter Path om het bestand in de huidige map weer te geven.
Voorbeeld 4: Processen exporteren met behulp van het lijstscheidingsteken van de huidige cultuur
In dit voorbeeld wordt Proces objecten 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 cmdlet Get-Culture
maakt gebruik van de geneste eigenschappen TextInfo en ListSeparator en geeft het standaardlijstscheidingsteken van de huidige cultuur weer. De cmdlet Get-Process
haalt Process-objecten op. De procesobjecten worden naar de pijplijn verzonden naar de cmdlet Export-Csv
.
Export-Csv
converteert de procesobjecten naar een reeks CSV-tekenreeksen. De parameter Pad 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 cmdlet Get-Content
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 standaardversie in versies vóór PowerShell 6.0.
Get-Process | Export-Csv -Path .\Processes.csv
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 cmdlet Get-Process
haalt Process-objecten op. De procesobjecten worden naar de pijplijn verzonden naar de cmdlet Export-Csv
.
Export-Csv
converteert de procesobjecten naar een reeks CSV-tekenreeksen.
De parameter Pad geeft aan dat het Processes.csv
bestand wordt opgeslagen in de huidige map.
De cmdlet Get-Content
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 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 cmdlet Get-Service
haalt serviceobjecten op. De parameter DisplayName retourneert services die het woord Toepassing bevatten. De serviceobjecten worden naar de pijplijn verzonden naar de cmdlet Select-Object
.
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 Pad 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 cmdlet Get-Content
gebruikt de parameter Path om het bestand in de huidige map weer te geven.
De cmdlets Get-Service
en Select-Object
worden herhaald voor services die het woord Windows bevatten. De $WinService
variabele slaat de serviceobjecten op. De cmdlet Export-Csv
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 met de toegevoegde gegevens weer te geven.
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",,,,,
Met de cmdlet Get-Date
wordt het DateTime--object opgehaald. Het object wordt naar de pijplijn verzonden naar de cmdlet Select-Object
.
Select-Object
gebruikt de parameter Eigenschap om een subset van objecteigenschappen te selecteren. Het object wordt naar de pijplijn verzonden naar de cmdlet Export-Csv
.
Export-Csv
converteert het object naar een CSV-indeling. De parameter Pad 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 cmdlet Get-Content
maakt gebruik van 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 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 maakt gebruik van 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 waar. De cmdlet Get-Process
haalt Process-objecten op. De procesobjecten worden naar de pijplijn verzonden naar de cmdlet Export-Csv
.
Export-Csv
converteert de procesobjecten naar een reeks CSV-tekenreeksen. De parameter Pad 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 Forceren wordt toegevoegd aan de cmdlet Export-Csv
om te forceren dat de export naar het bestand schrijft. De cmdlet Get-Content
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 Forceren en toevoegen 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 de PSCustomObject- met de eigenschappen Name en Version. De waarden worden opgeslagen in de $Content
variabele. De variabele $Content
wordt naar de pijplijn verzonden naar de Export-Csv
-cmdlet.
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 variabele $AdditionalContent
wordt naar de pijplijn verzonden naar de Export-Csv
-cmdlet. 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 Edition.
De parameter Export-Csv
cmdlet Forceren wordt gebruikt om de export af te dwingen naar het bestand te schrijven. De eigenschap Edition wordt verwijderd. De cmdlet Import-Csv
gebruikt de parameter Path om het bestand in de huidige map weer te geven.
Parameters
-Append
Gebruik deze parameter zodat Export-CSV
CSV-uitvoer toevoegt aan het einde van het opgegeven bestand. Zonder deze parameter vervangt Export-CSV
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
U wordt 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 ASCII
.
De acceptabele waarden voor deze parameter zijn als volgt:
-
ASCII
maakt gebruik van ASCII-tekenset (7-bits). -
BigEndianUnicode
gebruikt UTF-16 met de bytevolgorde big-endian. -
Default
gebruikt de codering die overeenkomt met de actieve codepagina van het systeem (meestal ANSI). -
OEM
gebruikt de codering die overeenkomt met de huidige OEM-codepagina van het systeem. -
Unicode
gebruikt UTF-16 met de bytevolgorde little-endian. -
UTF7
maakt gebruik van UTF-7. -
UTF8
maakt gebruik van UTF-8. -
UTF32
gebruikt UTF-32 met de bytevolgorde little-endian.
Type: | String |
Geaccepteerde waarden: | ASCII, BigEndianUnicode, Default, OEM, Unicode, UTF7, UTF8, UTF32 |
Position: | Named |
Default value: | ASCII |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Force
Met deze parameter kunnen Export-Csv
bestanden overschrijven met het kenmerk Alleen-lezen.
Wanneer geforceerde en parameters toevoegen worden gecombineerd, kunnen objecten die niet-overeenkomende eigenschappen bevatten, 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: | 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 doorslangen 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 Pad, wordt de waarde van de parameter LiteralPath exact 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 |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-NoClobber
Gebruik deze parameter zodat Export-CSV
een bestaand bestand niet overschrijft. Als het bestand zich in het opgegeven pad bevindt, overschrijft Export-CSV
het bestand standaard zonder waarschuwing.
Type: | SwitchParameter |
Aliassen: | NoOverwrite |
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 |
-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 |
-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
Windows PowerShell bevat de volgende aliassen voor Export-Csv
:
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
gebruiken om objecten op te slaan in een CSV-bestand en vervolgens de cmdlet Import-Csv
gebruiken om objecten te maken op basis van 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 exporteert de methoden van het object niet.
De CSV-tekenreeksen worden als volgt uitgevoerd:
- Standaard bevat de eerste tekenreeks de #TYPE informatiekop, gevolgd door de volledig gekwalificeerde naam van het objecttype. Bijvoorbeeld #TYPE System.Diagnostics.Process.
- Als NoTypeInformation- 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.
Wanneer u meerdere objecten naar Export-CSV
verzendt, Export-CSV
het bestand ordent 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 cmdlet Import-Csv
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 cmdlets ConvertTo-Csv
en ConvertFrom-Csv
converteren objecten naar CSV-tekenreeksen en vanuit CSV-tekenreeksen.
Export-CSV
hetzelfde is als ConvertTo-CSV
, behalve dat de CSV-tekenreeksen in een bestand worden opgeslagen.