Export-Csv

Konverterar objekt till en serie kommaavgränsade värdesträngar (CSV) och sparar strängarna i en fil.

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

Cmdleten Export-CSV skapar en CSV-fil med de objekt som du skickar. Varje objekt är en rad som innehåller en kommaavgränsad lista över objektets egenskapsvärden. Du kan använda cmdleten Export-CSV för att skapa kalkylblad och dela data med program som accepterar CSV-filer som indata.

Formatera inte objekt innan du skickar dem till cmdleten Export-CSV . Om Export-CSV tar emot formaterade objekt innehåller CSV-filen formategenskaperna i stället för objektegenskaperna. Om du bara vill exportera markerade egenskaper för ett objekt använder du cmdleten Select-Object .

Exempel

Exempel 1: Exportera processegenskaper till en CSV-fil

Det här exemplet väljer Processobjekt med specifika egenskaper, exporterar objekten till en CSV-fil.

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

Cmdleten Get-Process hämtar processobjekten . Parametern Namn filtrerar utdata så att de endast innehåller WmiPrvSE-processobjekten. Processobjekten skickas ned i pipelinen till cmdleten Select-Object . Select-Object använder parametern Egenskap för att välja en delmängd av processobjektegenskaper. Processobjekten skickas ned i pipelinen till cmdleten Export-Csv . Export-Csv konverterar processobjekten till en serie CSV-strängar. Parametern Path anger att den WmiData.csv filen sparas i den aktuella katalogen. Parametern NoTypeInformation tar bort #TYPE informationshuvudet från CSV-utdata och krävs inte i PowerShell 6. Cmdleten Import-Csv använder parametern Sökväg för att visa filen som finns i den aktuella katalogen.

Exempel 2: Exportera processer till en kommaavgränsad fil

Det här exemplet hämtar processobjekt och exporterar objekten till en CSV-fil.

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

Cmdleten Get-Process hämtar processobjekt . Processobjekten skickas ned i pipelinen till cmdleten Export-Csv . Export-Csv konverterar processobjekten till en serie CSV-strängar. Parametern Path anger att den Processes.csv filen sparas i den aktuella katalogen. Parametern NoTypeInformation tar bort #TYPE informationshuvudet från CSV-utdata och krävs inte i PowerShell 6. Cmdleten Get-Content använder parametern Sökväg för att visa filen som finns i den aktuella katalogen.

Exempel 3: Exportera processer till en semikolonavgränsad fil

Det här exemplet hämtar processobjekt och exporterar objekten till en fil med semikolon avgränsare.

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

Cmdleten Get-Process hämtar processobjekt . Processobjekten skickas ned i pipelinen till cmdleten Export-Csv . Export-Csv konverterar processobjekten till en serie CSV-strängar. Parametern Path anger att den Processes.csv filen sparas i den aktuella katalogen. Parametern Avgränsare anger ett semikolon som avgränsar strängvärdena. Parametern NoTypeInformation tar bort #TYPE informationshuvudet från CSV-utdata och krävs inte i PowerShell 6. Cmdleten Get-Content använder parametern Sökväg för att visa filen som finns i den aktuella katalogen.

Exempel 4: Exportera processer med den aktuella kulturens listavgränsare

Det här exemplet hämtar Process-objekt och exporterar objekten till en fil. Avgränsaren är den aktuella kulturens listavgränsare.

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

Cmdleten Get-Culture använder de kapslade egenskaperna TextInfo och ListSeparator och visar den aktuella kulturens standardlistavgränsare. Cmdleten Get-Process hämtar processobjekt . Processobjekten skickas ned i pipelinen till cmdleten Export-Csv . Export-Csv konverterar processobjekten till en serie CSV-strängar. Parametern Path anger att den Processes.csv filen sparas i den aktuella katalogen. Parametern UseCulture använder den aktuella kulturens standardlistavgränsare som avgränsare. Parametern NoTypeInformation tar bort #TYPE informationshuvudet från CSV-utdata och krävs inte i PowerShell 6. Cmdleten Get-Content använder parametern Sökväg för att visa filen som finns i den aktuella katalogen.

Exempel 5: Exportera processer med typinformation

Det här exemplet förklarar hur du inkluderar #TYPE rubrikinformation i en CSV-fil. #TYPE-huvudet är standardvärdet i versioner före 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", ...

Cmdleten Get-Process hämtar processobjekt . Processobjekten skickas ned i pipelinen till cmdleten Export-Csv . Export-Csv konverterar processobjekten till en serie CSV-strängar. Parametern Path anger att den Processes.csv filen sparas i den aktuella katalogen. IncludeTypeInformation innehåller #TYPE informationshuvudet i CSV-utdata. Cmdleten Get-Content använder parametern Sökväg för att visa filen som finns i den aktuella katalogen.

Exempel 6: Exportera och lägga till objekt i en CSV-fil

I det här exemplet beskrivs hur du exporterar objekt till en CSV-fil och använder parametern Lägg till för att lägga till objekt i en befintlig fil.

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

Cmdleten Get-Service hämtar tjänstobjekt. Parametern DisplayName returnerar tjänster som innehåller ordet Program. Tjänstobjekten skickas ned i pipelinen till cmdleten Select-Object . Select-Objectanvänder egenskapsparametern för att ange egenskaperna DisplayName och Status. Variabeln $AppService lagrar objekten.

Objekten $AppService skickas ned i pipelinen till cmdleten Export-Csv . Export-Csv konverterar tjänstobjekten till en serie CSV-strängar. Parametern Path anger att den Services.csv filen sparas i den aktuella katalogen. Parametern NoTypeInformation tar bort #TYPE informationshuvudet från CSV-utdata och krävs inte i PowerShell 6. Cmdleten Get-Content använder parametern Sökväg för att visa filen som finns i den aktuella katalogen.

Get-Service Cmdletarna och Select-Object upprepas för tjänster som innehåller ordet Windows. Variabeln $WinService lagrar tjänstobjekten. Cmdleten Export-Csv använder parametern Lägg till för att ange att objekten $WinService läggs till i den befintliga Services.csv filen. Cmdleten Get-Content upprepas för att visa den uppdaterade filen som innehåller de bifogade data.

Exempel 7: Formatera cmdlet i en pipeline skapar oväntade resultat

Det här exemplet visar varför det är viktigt att inte använda en format-cmdlet i en pipeline. När oväntade utdata tas emot felsöker du pipelinesyntaxen.

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

Cmdleten Get-Date hämtar DateTime-objektet . Objektet skickas ned pipelinen till cmdleten Select-Object . Select-Object använder parametern Egenskap för att välja en delmängd av objektegenskaper. Objektet skickas ned pipelinen till cmdleten Export-Csv . Export-Csv konverterar objektet till ett CSV-format. Parametern Path anger att den DateTime.csv filen sparas i den aktuella katalogen. Parametern NoTypeInformation tar bort #TYPE informationshuvudet från CSV-utdata och krävs inte i PowerShell 6. Cmdleten Get-Content använder parametern Path för att visa CSV-filen som finns i den aktuella katalogen.

När cmdleten Format-Table används i pipelinen för att välja egenskaper tas oväntade resultat emot. Format-Table skickar tabellformatobjekt ned pipelinen till cmdleten Export-Csv i stället för DateTime-objektet . Export-Csv konverterar tabellformatobjekten till en serie CSV-strängar. Cmdleten Get-Content visar CSV-filen som innehåller tabellformatobjekten.

Exempel 8: Använda force-parametern för att skriva över skrivskyddade filer

Det här exemplet skapar en tom, skrivskyddad fil och använder parametern Force för att uppdatera filen.

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

Cmdleten New-Item använder parametrarna Path och ItemType för att skapa ReadOnly.csv-filen i den aktuella katalogen. Cmdleten Set-ItemProperty använder parametrarna Namn och Värde för att ändra filens IsReadOnly-egenskap till true. Cmdleten Get-Process hämtar processobjekt . Processobjekten skickas ned i pipelinen till cmdleten Export-Csv . Export-Csv konverterar processobjekten till en serie CSV-strängar. Parametern Path anger att den ReadOnly.csv filen sparas i den aktuella katalogen. Parametern NoTypeInformation tar bort #TYPE informationshuvudet från CSV-utdata och krävs inte i PowerShell 6. Utdata visar att filen inte är skriven eftersom åtkomst nekas.

Force-parametern läggs till i cmdleten Export-Csv för att tvinga exporten att skriva till filen. Cmdleten Get-Content använder parametern Sökväg för att visa filen som finns i den aktuella katalogen.

Exempel 9: Använda parametern Force med Append

Det här exemplet visar hur du använder parametrarna Force och Append . När dessa parametrar kombineras kan objektegenskaper som inte matchar varandra skrivas till en CSV-fil.

$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

Ett uttryck skapar egenskaperna PSCustomObject med namn och version . Värdena lagras i variabeln $Content . Variabeln $Content skickas ned i pipelinen till cmdleten Export-Csv . Export-Csv använder parametern Sökväg och sparar ParmFile.csv-filen i den aktuella katalogen. Parametern NoTypeInformation tar bort #TYPE informationshuvudet från CSV-utdata och krävs inte i PowerShell 6.

Ett annat uttryck skapar en PSCustomObject med egenskaperna Name och Edition . Värdena lagras i variabeln $AdditionalContent . Variabeln $AdditionalContent skickas ned i pipelinen till cmdleten Export-Csv . Parametern Lägg till används för att lägga till data i filen. Tillägget misslyckas eftersom det finns ett egenskapsnamn som inte matchar mellan version och utgåva.

Parametern Export-Csv cmdlet Force används för att tvinga exporten att skriva till filen. Egenskapen Edition ignoreras. Cmdleten Import-Csv använder parametern Sökväg för att visa filen som finns i den aktuella katalogen.

Exempel 10: Exportera till CSV med citattecken runt två kolumner

Det här exemplet konverterar ett DateTime-objekt till en CSV-sträng.

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

Exempel 11: Exportera till CSV med citattecken endast vid behov

Det här exemplet konverterar ett DateTime-objekt till en CSV-sträng.

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

Parametrar

-Append

Använd den här parametern så att Export-CSV CSV-utdata läggs till i slutet av den angivna filen. Utan den här parametern Export-CSV ersätter filinnehållet utan varning.

Den här parametern introducerades i Windows PowerShell 3.0.

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

-Confirm

Uppmanar dig att bekräfta innan du kör cmdleten.

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

-Delimiter

Anger en avgränsare för att avgränsa egenskapsvärdena. Standardvärdet är ett kommatecken (,). Ange ett tecken, till exempel ett kolon (:). Om du vill ange ett semikolon (;) omger du det inom citattecken.

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

-Encoding

Anger kodningen för den exporterade CSV-filen. Standardvärdet är utf8NoBOM.

Godkända värden för den här parametern är följande:

  • ascii: Använder kodningen för ASCII-teckenuppsättningen (7-bitars).
  • bigendianunicode: Kodar i UTF-16-format med hjälp av den stora slutpunktsbyteordningen.
  • bigendianutf32: Kodar i UTF-32-format med hjälp av den stora slutpunktsbyteordningen.
  • oem: Använder standardkodning för MS-DOS och konsolprogram.
  • unicode: Kodar i UTF-16-format med den lite endianska byteordningen.
  • utf7: Kodar i UTF-7-format.
  • utf8: Kodar i UTF-8-format.
  • utf8BOM: Kodar i UTF-8-format med Byte Order Mark (BOM)
  • utf8NoBOM: Kodar i UTF-8-format utan Byte Order Mark (BOM)
  • utf32: Kodar i UTF-32-format.

Från och med PowerShell 6.2 tillåter kodningsparametern även numeriska ID:n för registrerade kodsidor (till exempel -Encoding 1251) eller strängnamn för registrerade kodsidor (till exempel ).-Encoding "windows-1251" Mer information finns i .NET-dokumentationen för Encoding.CodePage.

Anteckning

UTF-7* rekommenderas inte längre att använda. Från och med PowerShell 7.1 skrivs en varning om du anger utf7 för kodningsparametern .

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

Med den här parametern kan Export-Csv du skriva över filer med attributet Skrivskyddad .

När force- och tilläggsparametrar kombineras kan objekt som innehåller matchningsfel skrivas till en CSV-fil. Endast de egenskaper som matchar skrivs till filen. De felmatchade egenskaperna ignoreras.

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

-IncludeTypeInformation

När den här parametern används innehåller den första raden i CSV-utdata #TYPE följt av det fullständigt kvalificerade namnet på objekttypen. Till exempel #TYPE System.Diagnostics.Process.

Den här parametern introducerades i PowerShell 6.0.

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

-InputObject

Anger vilka objekt som ska exporteras som CSV-strängar. Ange en variabel som innehåller objekten eller skriv ett kommando eller uttryck som hämtar objekten. Du kan också skicka objekt till Export-CSV.

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

-LiteralPath

Anger sökvägen till CSV-utdatafilen. Till skillnad från Path används värdet för parametern LiteralPath exakt som det skrivs. Inga tecken tolkas som jokertecken. Om sökvägen innehåller escape-tecken använder du enkla citattecken. Enkla citattecken säger till PowerShell att inte tolka några tecken som escape-sekvenser.

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

-NoClobber

Använd den här parametern så att Export-CSV du inte skriver över en befintlig fil. Om filen finns i den angivna sökvägen Export-CSV skriver du som standard över filen utan förvarning.

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

-NoTypeInformation

Tar bort #TYPE informationshuvudet från utdata. Den här parametern blev standard i PowerShell 6.0 och ingår för bakåtkompatibilitet.

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

-Path

En obligatorisk parameter som anger platsen för att spara CSV-utdatafilen.

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

-QuoteFields

Anger namnen på de kolumner som ska citeras. När den här parametern används anges endast de angivna kolumnerna. Den här parametern lades till i PowerShell 7.0.

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

-UseCulture

Använder listavgränsaren för den aktuella kulturen som objektavgränsare. Om du vill hitta listavgränsaren för en kultur använder du följande kommando: (Get-Culture).TextInfo.ListSeparator.

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

-UseQuotes

Anger när citattecken används i CSV-filerna. Möjliga värden:

  • Aldrig - citera ingenting
  • Always – citera allt (standardbeteende)
  • AsNeeded – endast citatfält som innehåller ett avgränsartecken

Den här parametern lades till i 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

Förhindrar att cmdleten bearbetas eller gör ändringar. Utdata visar vad som skulle hända om cmdleten kördes.

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

Indata

PSObject

Du kan skicka alla objekt med ett ETS-kort (Extended Type System) till Export-CSV.

Utdata

String

CSV-listan skickas till filen som anges i parametern Path.

Kommentarer

Cmdleten Export-CSV konverterar de objekt som du skickar till en serie CSV-strängar och sparar dem i den angivna textfilen. Du kan använda Export-CSV -IncludeTypeInformation för att spara objekt i en CSV-fil och sedan använda cmdleten Import-Csv för att skapa objekt från texten i CSV-filen.

I CSV-filen representeras varje objekt av en kommaavgränsad lista över objektets egenskapsvärden. Egenskapsvärdena konverteras till strängar med metoden ToString(). Strängarna representeras av egenskapsvärdets namn. Export-CSV -IncludeTypeInformation exporterar inte objektmetoderna.

CSV-strängarna matas ut på följande sätt:

  • Om IncludeTypeInformation används innehåller den första strängen #TYPE informationsrubrik följt av objekttypens fullständigt kvalificerade namn. Till exempel #TYPE System.Diagnostics.Process.
  • Om IncludeTypeInformation inte används innehåller den första strängen kolumnrubrikerna. Rubrikerna innehåller det första objektets egenskapsnamn som en kommaavgränsad lista.
  • De återstående strängarna innehåller kommaavgränsade listor över varje objekts egenskapsvärden.

Från och med PowerShell 6.0 är standardbeteendet Export-CSV för att inte inkludera #TYPE information i CSV och NoTypeInformation är underförstått. IncludeTypeInformation kan användas för att inkludera #TYPE information och emulera standardbeteendet Export-CSV före PowerShell 6.0.

När du skickar flera objekt till Export-CSVExport-CSV ordnar du filen baserat på egenskaperna för det första objektet som du skickar. Om de återstående objekten inte har någon av de angivna egenskaperna är egenskapsvärdet för objektet null, vilket representeras av två på varandra följande kommatecken. Om de återstående objekten har ytterligare egenskaper inkluderas inte dessa egenskapsvärden i filen.

Du kan använda cmdleten Import-Csv för att återskapa objekt från CSV-strängarna i filerna. De resulterande objekten är CSV-versioner av de ursprungliga objekten som består av strängrepresentationer av egenskapsvärdena och inga metoder.

ConvertTo-Csv Cmdletarna och ConvertFrom-Csv konverterar objekt till CSV-strängar och från CSV-strängar. Export-CSV är samma som ConvertTo-CSV, förutom att den sparar CSV-strängarna i en fil.