Export-Csv

Az objektumokat karakterekkel elválasztott értéksorozattá (CSV) konvertálja, és fájlba menti a sztringeket.

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

A Export-CSV parancsmag létrehoz egy CSV-fájlt a beküldött objektumokról. Minden objektum egy sor, amely az objektum tulajdonságértékeinek karakterrel elválasztott listáját tartalmazza. A Export-CSV parancsmaggal számolótáblákat hozhat létre, és adatokat oszthat meg olyan programokkal, amelyek bemenetként fogadják a CSV-fájlokat.

Ne formázza az objektumokat, mielőtt elküldené őket a Export-CSV parancsmagnak. Ha Export-CSV formázott objektumokat fogad, a CSV-fájl nem az objektumtulajdonságokat, hanem a formátumtulajdonságokat tartalmazza. Ha csak egy objektum kijelölt tulajdonságait szeretné exportálni, használja a Select-Object parancsmagot.

Példák

1. példa: Folyamattulajdonságok exportálása CSV-fájlba

Ez a példa a Meghatározott tulajdonságokkal rendelkező Objektumok feldolgozása lehetőséget választja, és az objektumokat egy CSV-fájlba exportálja.

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

A Get-Process parancsmag lekéri a Folyamat objektumokat. A Név paraméter úgy szűri a kimenetet, hogy csak a WmiPrv Standard kiadás folyamatobjektumokat tartalmazza. A folyamatobjektumok le lesznek küldve a folyamaton a Select-Object parancsmagnak. Select-ObjectA Tulajdonság paraméterrel kiválasztja a folyamatobjektum-tulajdonságok egy részhalmazát. A folyamatobjektumok le lesznek küldve a folyamaton a Export-Csv parancsmagnak. Export-Csv A folyamatobjektumokat CSV-sztringek sorozatává alakítja. Az Elérési út paraméter azt határozza meg, hogy a WmiData.csv fájl az aktuális könyvtárba legyen mentve. A NoTypeInformation paraméter eltávolítja a #TYPE adatfejlécet a CSV-kimenetből, és nem szükséges a PowerShell 6-ban. A Import-Csv parancsmag az Elérési út paraméter használatával jeleníti meg az aktuális könyvtárban található fájlt.

2. példa: Folyamatok exportálása vesszővel tagolt fájlba

Ez a példa lekéri a Process objektumokat, és exportálja az objektumokat egy CSV-fájlba.

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

A Get-Process parancsmag folyamatobjektumokat kap. A folyamatobjektumok le lesznek küldve a folyamaton a Export-Csv parancsmagnak. Export-Csv A folyamatobjektumokat CSV-sztringek sorozatává alakítja. Az Elérési út paraméter azt határozza meg, hogy a Processes.csv fájl az aktuális könyvtárba legyen mentve. A NoTypeInformation paraméter eltávolítja a #TYPE adatfejlécet a CSV-kimenetből, és nem szükséges a PowerShell 6-ban. A Get-Content parancsmag az Elérési út paraméter használatával jeleníti meg az aktuális könyvtárban található fájlt.

3. példa: Folyamatok exportálása pontosvesszővel tagolt fájlba

Ez a példa lekéri a Process objektumokat, és egy pontosvesszővel tagolt fájlba exportálja az objektumokat.

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

A Get-Process parancsmag folyamatobjektumokat kap. A folyamatobjektumok le lesznek küldve a folyamaton a Export-Csv parancsmagnak. Export-Csv A folyamatobjektumokat CSV-sztringek sorozatává alakítja. Az Elérési út paraméter azt határozza meg, hogy a Processes.csv fájl az aktuális könyvtárba legyen mentve. A Határoló paraméter pontosvesszőt ad meg a sztringértékek elválasztásához. A NoTypeInformation paraméter eltávolítja a #TYPE adatfejlécet a CSV-kimenetből, és nem szükséges a PowerShell 6-ban. A Get-Content parancsmag az Elérési út paraméter használatával jeleníti meg az aktuális könyvtárban található fájlt.

4. példa: Folyamatok exportálása az aktuális kultúra listaelválasztójával

Ez a példa lekéri a Process objektumokat, és exportálja az objektumokat egy fájlba. Az elválasztó az aktuális kultúra listaelválasztója.

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

A Get-Culture parancsmag a Beágyazott TextInfo és a ListSeparator tulajdonságokat használja, és megjeleníti az aktuális kultúra alapértelmezett listaelválasztóját. A Get-Process parancsmag folyamatobjektumokat kap. A folyamatobjektumok le lesznek küldve a folyamaton a Export-Csv parancsmagnak. Export-Csv A folyamatobjektumokat CSV-sztringek sorozatává alakítja. Az Elérési út paraméter azt határozza meg, hogy a Processes.csv fájl az aktuális könyvtárba legyen mentve. A UseCulture paraméter az aktuális kultúra alapértelmezett listaelválasztóját használja elválasztóként. A NoTypeInformation paraméter eltávolítja a #TYPE adatfejlécet a CSV-kimenetből, és nem szükséges a PowerShell 6-ban. A Get-Content parancsmag az Elérési út paraméter használatával jeleníti meg az aktuális könyvtárban található fájlt.

5. példa: Folyamatok exportálása típusadatokkal

Ez a példa bemutatja, hogyan lehet a #TYPE fejlécadatait egy CSV-fájlba felvenni. A #TYPE fejléc a PowerShell 6.0 előtti verziókban az alapértelmezett.

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

A Get-Process parancsmag folyamatobjektumokat kap. A folyamatobjektumok le lesznek küldve a folyamaton a Export-Csv parancsmagnak. Export-Csv A folyamatobjektumokat CSV-sztringek sorozatává alakítja. Az Elérési út paraméter azt határozza meg, hogy a Processes.csv fájl az aktuális könyvtárba legyen mentve. Az IncludeTypeInformation tartalmazza a CSV-kimenet #TYPE információfejlécét. A Get-Content parancsmag az Elérési út paraméter használatával jeleníti meg az aktuális könyvtárban található fájlt.

6. példa: Objektumok exportálása és hozzáfűzése CSV-fájlhoz

Ez a példa bemutatja, hogyan exportálhat objektumokat EGY CSV-fájlba, és hogyan adhat hozzá objektumokat egy meglévő fájlhoz a Hozzáfűzés paraméterrel.

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

A Get-Service parancsmag szolgáltatásobjektumokat kap. A DisplayName paraméter az Alkalmazás szót tartalmazó szolgáltatásokat adja vissza. A szolgáltatásobjektumok le lesznek küldve a folyamatról a Select-Object parancsmagnak. Select-ObjectA Tulajdonság paraméter használatával adja meg a DisplayName és az Status tulajdonságokat. A $AppService változó tárolja az objektumokat.

A $AppService rendszer elküldi az objektumokat a folyamatnak a Export-Csv parancsmagnak. Export-Csv A szolgáltatásobjektumokat CSV-sztringek sorozatává alakítja. Az Elérési út paraméter azt határozza meg, hogy a Services.csv fájl az aktuális könyvtárba legyen mentve. A NoTypeInformation paraméter eltávolítja a #TYPE adatfejlécet a CSV-kimenetből, és nem szükséges a PowerShell 6-ban. A Get-Content parancsmag az Elérési út paraméter használatával jeleníti meg az aktuális könyvtárban található fájlt.

A Get-Service Windows szót tartalmazó szolgáltatások esetében a parancsmagok és Select-Object a parancsmagok ismétlődnek. A $WinService változó tárolja a szolgáltatásobjektumokat. A Export-Csv parancsmag a Hozzáfűzés paraméter használatával adja meg, hogy az $WinService objektumok hozzá legyenek adva a meglévő Services.csv fájlhoz. A Get-Content parancsmag ismételten megjelenik a hozzáfűzött adatokat tartalmazó frissített fájl megjelenítéséhez.

7. példa: A folyamaton belüli parancsmag formázása váratlan eredményeket hoz létre

Ez a példa azt mutatja be, hogy miért fontos, hogy ne használjon formátumparancsmagot egy folyamaton belül. Ha váratlan kimenet érkezik, hárítsa el a folyamat szintaxisát.

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

A Get-Date parancsmag lekéri a DateTime objektumot. A rendszer elküldi az objektumot a folyamatnak a Select-Object parancsmagnak. Select-ObjectA Tulajdonság paraméterrel választja ki az objektumtulajdonságok egy részhalmazát. A rendszer elküldi az objektumot a folyamatnak a Export-Csv parancsmagnak. Export-Csv CSV formátumba konvertálja az objektumot. Az Elérési út paraméter azt határozza meg, hogy a DateTime.csv fájl az aktuális könyvtárba legyen mentve. A NoTypeInformation paraméter eltávolítja a #TYPE adatfejlécet a CSV-kimenetből, és nem szükséges a PowerShell 6-ban. A Get-Content parancsmag a Path paraméter használatával jeleníti meg az aktuális könyvtárban található CSV-fájlt.

Ha a Format-Table parancsmagot a folyamaton belül használja a tulajdonságok kiválasztásához, váratlan eredmények érkeznek. Format-Table táblaformátumú objektumokat küld le a folyamatból a Export-Csv parancsmagra a DateTime objektum helyett. Export-Csv A táblaformátum objektumait CSV-sztringek sorozatává alakítja. A Get-Content parancsmag megjeleníti a táblaformátum objektumait tartalmazó CSV-fájlt.

8. példa: Írásvédett fájlok felülírása a Force paraméterrel

Ez a példa egy üres, írásvédett fájlt hoz létre, és a Force paraméter használatával frissíti a fájlt.

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

A New-Item parancsmag az Elérési út és az ItemType paraméterek használatával hozza létre a fájlt az ReadOnly.csv aktuális könyvtárban. A Set-ItemProperty parancsmag a Név és érték paraméterekkel módosítja a fájl IsReadOnly tulajdonságát igaz értékre. A Get-Process parancsmag folyamatobjektumokat kap. A folyamatobjektumok le lesznek küldve a folyamaton a Export-Csv parancsmagnak. Export-Csv A folyamatobjektumokat CSV-sztringek sorozatává alakítja. Az Elérési út paraméter azt határozza meg, hogy a ReadOnly.csv fájl az aktuális könyvtárba legyen mentve. A NoTypeInformation paraméter eltávolítja a #TYPE adatfejlécet a CSV-kimenetből, és nem szükséges a PowerShell 6-ban. A kimenet azt mutatja, hogy a fájl írása nem történik meg, mert a hozzáférés megtagadva.

A Rendszer hozzáadja a Force paramétert a Export-Csv parancsmaghoz, hogy kényszerítse az exportálást a fájlba való írásra. A Get-Content parancsmag az Elérési út paraméter használatával jeleníti meg az aktuális könyvtárban található fájlt.

9. példa: A Force paraméter használata hozzáfűzéssel

Ez a példa bemutatja, hogyan használhatja az Erő és hozzáfűzés paramétereket. A paraméterek kombinálásakor a nem egyező objektumtulajdonságok csV-fájlba írhatók.

$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

Egy kifejezés név- és verziótulajdonságokkalhozza létre a PSCustomObject objektumot. Az értékek a $Content változóban vannak tárolva. A $Content rendszer elküldi a változót a folyamatnak a Export-Csv parancsmagnak. Export-Csvaz Elérési út paramétert használja, és menti a ParmFile.csv fájlt az aktuális könyvtárba. A NoTypeInformation paraméter eltávolítja a #TYPE adatfejlécet a CSV-kimenetből, és nem szükséges a PowerShell 6-ban.

Egy másik kifejezés létrehoz egy PSCustomObject-et a Név és a Kiadás tulajdonsággal. Az értékek a $AdditionalContent változóban vannak tárolva. A $AdditionalContent rendszer elküldi a változót a folyamatnak a Export-Csv parancsmagnak. A Hozzáfűzés paraméter használatával adja hozzá az adatokat a fájlhoz. A hozzáfűzés sikertelen, mert a Verzió és az Edition tulajdonságnév nem egyezik.

A Export-Csv parancsmag Force paramétere arra kényszeríti az exportálást, hogy a fájlba írjon. A Edition tulajdonság el lesz vetve. A Import-Csv parancsmag az Elérési út paraméter használatával jeleníti meg az aktuális könyvtárban található fájlt.

10. példa: Exportálás CSV-be két oszlop körüli idézőjelekkel

Ez a példa egy DateTime-objektumot CSV-sztringgé alakít át.

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

11. példa: Exportálás CSV-be csak szükség esetén idézőjelekkel

Ez a példa egy DateTime-objektumot CSV-sztringgé alakít át.

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

12. példa: Kivonattáblák konvertálása CSV-vé

A PowerShell 7.2 és újabb verzióiban a kivonatolók CSV-be való exportálásakor a rendszer szerializálja és fejlécként használja az első kivonatoló kulcsait a CSV-fájl kimenetében.

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

13. példa: Kivonattáblák átalakítása CSV-vé további tulajdonságokkal

A PowerShell 7.2-ben és újabb verziókban, ha olyan kivonatolót exportál, amely további tulajdonságokkal rendelkezik Add-Member , vagy Select-Object a további tulajdonságokat is hozzáadja fejlécként a CSV-fájlhoz.

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

Minden kivonatolóhoz tartozik egy tulajdonság, ExtraProp amelyet Add-Member hozzáadtak, majd exportáltak a CSV-be. ExtraProp Láthatja, hogy a CSV-fájl kimenetében egy fejléc látható.

Ha egy hozzáadott tulajdonság neve megegyezik a kivonatoló kulcsával, a kulcs elsőbbséget élvez, és csak a kulcs lesz exportálva a CSV-be.

Paraméterek

-Append

Használja ezt a paramétert, hogy Export-CSV CSV-kimenetet adjon hozzá a megadott fájl végéhez. A paraméter Export-CSV nélkül figyelmeztetés nélkül lecseréli a fájl tartalmát.

Ezt a paramétert a Windows PowerShell 3.0-ban vezettük be.

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

-Confirm

Jóváhagyást kér a parancsmag futtatása előtt.

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

-Delimiter

Egy elválasztójelet ad meg a tulajdonságértékek elválasztásához. Az alapértelmezett érték egy vessző (,). Adjon meg egy karaktert, például kettőspontot (:). Pontosvessző (;) megadásához tegye idézőjelek közé.

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

-Encoding

Az exportált CSV-fájl kódolását adja meg. Az alapértelmezett érték utf8NoBOM.

A paraméter elfogadható értékei a következők:

  • ascii: Az ASCII (7 bites) karakterkészlet kódolását használja.
  • bigendianunicode: UTF-16 formátumban kódolja a big-endian bájtsorrendet.
  • bigendianutf32: UTF-32 formátumban kódolja a big-endian bájtsorrendet.
  • oem: Az MS-DOS és a konzolprogramok alapértelmezett kódolását használja.
  • unicode: UTF-16 formátumban kódolja a kis végű bájtsorrendet.
  • utf7: UTF-7 formátumban kódol.
  • utf8: UTF-8 formátumban kódol.
  • utf8BOM: UTF-8 formátumban kódol byte order mark (BOM)
  • utf8NoBOM: UTF-8 formátumban kódol byte order mark (BOM) nélkül
  • utf32: UTF-32 formátumban kódol.

A PowerShell 6.2-től kezdődően a Kódolás paraméter lehetővé teszi a regisztrált kódlapok (például -Encoding 1251) numerikus azonosítóit vagy a regisztrált kódlapok sztringneveit (például -Encoding "windows-1251"). További információt a Encoding.CodePage .NET-dokumentációjában talál.

Feljegyzés

Az UTF-7* már nem ajánlott. A PowerShell 7.1-ről figyelmeztetést ír, ha utf7 megadja a Kódolás paramétert.

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

Ez a paraméter lehetővé teszi Export-Csv a csak olvasható attribútummal rendelkező fájlok felülírását.

A Kényszerítés és a Hozzáfűzés paraméterek kombinálásakor a nem egyező tulajdonságokat tartalmazó objektumok CSV-fájlba írhatók. A fájlba csak az egyező tulajdonságok vannak beírva. A rendszer elveti a nem egyező tulajdonságokat.

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

-IncludeTypeInformation

Ha ezt a paramétert használja, a CSV-kimenet első sora tartalmazza #TYPE az objektumtípus teljes nevét. Például: #TYPE System.Diagnostics.Process.

Ezt a paramétert a PowerShell 6.0-ban vezettük be.

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

-InputObject

A CSV-sztringekként exportálandó objektumokat adja meg. Adjon meg egy változót, amely tartalmazza az objektumokat, vagy írjon be egy parancsot vagy kifejezést, amely lekéri az objektumokat. Az objektumokat be is csövezheti a parancsba Export-CSV.

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

-LiteralPath

Megadja a CSV kimeneti fájl elérési útját. A Path-tal ellentétben a LiteralPath paraméter értéke pontosan a beírt módon lesz használva. A rendszer egyetlen karaktert sem értelmez helyettesítő karakterként. Ha az elérési út tartalmaz feloldó karaktereket, használjon egyetlen idézőjelet. Az idézőjelek azt mondják a PowerShellnek, hogy ne értelmezzen karaktereket feloldósorozatként.

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

-NoClobber

Használja ezt a paramétert, hogy Export-CSV ne írja felül a meglévő fájlokat. Alapértelmezés szerint, ha a fájl a megadott elérési úton található, Export-CSV figyelmeztetés nélkül felülírja a fájlt.

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

-NoTypeInformation

Eltávolítja az #TYPE információs fejlécet a kimenetből. Ez a paraméter lett az alapértelmezett a PowerShell 6.0-ban, és a visszamenőleges kompatibilitás érdekében tartalmazza.

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

-Path

Kötelező paraméter, amely megadja a CSV kimeneti fájl mentésének helyét.

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

-QuoteFields

Megadja az idézendő oszlopok nevét. Ha ezt a paramétert használja, a rendszer csak a megadott oszlopokat idézi. Ez a paraméter a PowerShell 7.0-ban lett hozzáadva.

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

-UseCulture

Az aktuális kultúra listaelválasztót használja elválasztó elemként. Egy kultúra listaelválasztójának megkereséséhez használja a következő parancsot: (Get-Culture).TextInfo.ListSeparator.

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

-UseQuotes

Megadja, hogy mikor használják az idézőjeleket a CSV-fájlok. A lehetséges értékek a következők:

  • Soha - ne idézz semmit
  • Mindig – idézés mindent (alapértelmezett viselkedés)
  • AsNeeded – csak elválasztó karaktert, dupla idézőjelet vagy újsoros karaktert tartalmazó idézőjelmezők

Ez a paraméter a PowerShell 7.0-ban lett hozzáadva.

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

-WhatIf

Megakadályozza a parancsmag feldolgozását vagy módosítását. A kimenet azt mutatja, mi történne, ha a parancsmag futna.

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

Bevitelek

PSObject

Erre a parancsmagra bármely objektumot kiterjesztett típusú rendszeradapterrel (ETS) csövezhet.

Kimenetek

None

Ez a parancsmag nem ad vissza kimenetet.

Jegyzetek

A PowerShell a következő aliasokat Export-Csvtartalmazza:

  • Minden platform:
    • epcsv

A Export-CSV parancsmag CSV-sztringek sorozatává alakítja a beküldött objektumokat, és menti őket a megadott szövegfájlba. A CSV-fájlban mentheti Export-CSV -IncludeTypeInformation az objektumokat, majd a Import-Csv parancsmaggal objektumokat hozhat létre a CSV-fájl szövegéből.

A CSV-fájlban minden objektumot az objektum tulajdonságértékeinek karakterrel tagolt listája jelöl. A tulajdonságértékek sztringekké alakulnak a ToString() metódus használatával. A sztringeket a tulajdonságérték neve jelöli. Export-CSV -IncludeTypeInformation nem exportálja az objektum metódusait.

A CSV-sztringek kimenete a következő:

  • Az IncludeTypeInformation használata esetén az első sztring tartalmazza a #TYPE információs fejlécet, majd az objektumtípus teljes nevét. Például #TYPE System.Diagnostics.Process.
  • Ha az IncludeTypeInformation nem használatos, az első sztring tartalmazza az oszlopfejléceket. A fejlécek az első objektum tulajdonságneveit tartalmazzák karakterrel elválasztott listaként.
  • A többi sztring az egyes objektumok tulajdonságértékeinek karakterekkel tagolt listáját tartalmazza.

A PowerShell 6.0-tól kezdődően az alapértelmezett viselkedés Export-CSV az, hogy nem tartalmazza a #TYPE információkat a CSV-ben, és a NoTypeInformation nem jelenik meg. Az IncludeTypeInformation a #TYPE-információk belefoglalására és a PowerShell 6.0 előtti alapértelmezett viselkedés Export-CSV emulálására használható.

Ha több objektumot küld el, Export-CSVExport-CSV a fájlt az első beküldendő objektum tulajdonságai alapján rendszerezi. Ha a többi objektum nem rendelkezik a megadott tulajdonságok egyikével, az objektum tulajdonságértéke null, két egymást követő vesszővel jelölve. Ha a többi objektum további tulajdonságokkal rendelkezik, ezek a tulajdonságértékek nem szerepelnek a fájlban.

A Import-Csv parancsmaggal újra létrehozhat objektumokat a fájlok CSV-sztringjeiből. Az eredményül kapott objektumok az eredeti objektumok CSV-verziói, amelyek a tulajdonságértékek sztringreprezentációiból és metódusok nélkül állnak.

ConvertFrom-Csv A ConvertTo-Csv parancsmagok az objektumokat CSV-sztringekké és CSV-sztringekké alakítják. Export-CSV megegyezik azzal a ConvertTo-CSVkivételrel, hogy a CSV-sztringeket egy fájlba menti.