Export-Csv
Az objektumokat karakterekkel elválasztott értéksorozattá (CSV) konvertálja, és fájlba menti a sztringeket.
Syntax
Delimiter (Alapértelmezett)
Export-Csv
[[-Path] <String>]
[[-Delimiter] <Char>]
-InputObject <PSObject>
[-LiteralPath <String>]
[-Force]
[-NoClobber]
[-Encoding <Encoding>]
[-Append]
[-IncludeTypeInformation]
[-NoTypeInformation]
[-QuoteFields <String[]>]
[-UseQuotes <QuoteKind>]
[-NoHeader]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
UseCulture
Export-Csv
[[-Path] <String>]
-InputObject <PSObject>
[-LiteralPath <String>]
[-Force]
[-NoClobber]
[-Encoding <Encoding>]
[-Append]
[-UseCulture]
[-IncludeTypeInformation]
[-NoTypeInformation]
[-QuoteFields <String[]>]
[-UseQuotes <QuoteKind>]
[-NoHeader]
[-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 parancsmagba. 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 Meghatározott tulajdonságokkal rendelkező objektumok feldolgozását választja ki, és exportálja az objektumokat egy CSV-fájlba.
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 Process objektumokat. A Name paraméter úgy szűri a kimenetet, hogy csak a WmiPrvSE folyamatobjektumokat tartalmazza. A folyamatobjektumok le lesznek küldve a folyamaton a Select-Object parancsmagnak.
Select-Object a Tulajdonság paraméterrel választja ki 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. A 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 információs fejlécet a CSV-kimenetből, és nem szükséges a PowerShell 6-ban. A Import-Csv parancsmag a Path paramétert használja az aktuális könyvtárban található fájl megjelenítéséhez.
2. példa: Folyamatok exportálása vesszővel tagolt fájlba
Ez a példa lekéri 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 Folyamat objektumokat kap. A folyamatobjektumok le lesznek küldve a folyamaton a Export-Csv parancsmagnak.
Export-Csv a folyamatobjektumokat CSV-sztringek sorozatává alakítja. A 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 információs fejlécet a CSV-kimenetből, és nem szükséges a PowerShell 6-ban. A Get-Content parancsmag a Path paramétert használja az aktuális könyvtárban található fájl megjelenítéséhez.
3. példa: Folyamatok exportálása pontosvesszővel tagolt fájlba
Ez a példa lekéri 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 Folyamat objektumokat kap. A folyamatobjektumok le lesznek küldve a folyamaton a Export-Csv parancsmagnak.
Export-Csv a folyamatobjektumokat CSV-sztringek sorozatává alakítja. A 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 elválasztó paraméter pontosvesszőt ad meg a sztringértékek elválasztásához. A NoTypeInformation paraméter eltávolítja a #TYPE információs fejlécet a CSV-kimenetből, és nem szükséges a PowerShell 6-ban. A Get-Content parancsmag a Path paramétert használja az aktuális könyvtárban található fájl megjelenítéséhez.
4. példa: Folyamatok exportálása az aktuális kultúra listaelválasztójával
Ez a példa lekéri 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 tulajdonságokat TextInfo és ListSeparator használja, és megjeleníti az aktuális kultúra alapértelmezett listaelválasztóját. A Get-Process parancsmag Folyamat objektumokat kap. A folyamatobjektumok le lesznek küldve a folyamaton a Export-Csv parancsmagnak.
Export-Csv a folyamatobjektumokat CSV-sztringek sorozatává alakítja. A 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 információs fejlécet a CSV-kimenetből, és nem szükséges a PowerShell 6-ban.
A Get-Content parancsmag a Path paramétert használja az aktuális könyvtárban található fájl megjelenítéséhez.
5. példa: Folyamatok exportálása típusadatokkal
Ez a példa bemutatja, hogyan lehet a #TYPE fejlécadatokat 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 Folyamat objektumokat kap. A folyamatobjektumok le lesznek küldve a folyamaton a Export-Csv parancsmagnak.
Export-Csv a folyamatobjektumokat CSV-sztringek sorozatává alakítja. A 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 az #TYPE információs fejlécet a CSV-kimenetben. A Get-Content parancsmag a Path paramétert használja az aktuális könyvtárban található fájl megjelenítéséhez.
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ő 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 lekéri a szolgáltatásobjektumokat. A DisplayName paraméter az Alkalmazás szót tartalmazó szolgáltatásokat adja vissza. A szolgáltatásobjektumok le lesznek küldve a folyamaton a Select-Object parancsmagnak.
Select-Object a Tulajdonság paraméter használatával adja meg a DisplayName és Állapot tulajdonságait. A $AppService változó tárolja az objektumokat.
A $AppService objektumokat a rendszer elküldi a folyamaton a Export-Csv parancsmagnak.
Export-Csv a szolgáltatásobjektumokat CSV-sztringek sorozatává alakítja. A 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 információs fejlécet a CSV-kimenetből, és nem szükséges a PowerShell 6-ban. A Get-Content parancsmag a Path paramétert használja az aktuális könyvtárban található fájl megjelenítéséhez.
A Get-Service és Select-Object parancsmagok ismétlődnek a Windows szót tartalmazó szolgáltatások esetében. A $WinService változó tárolja a szolgáltatásobjektumokat. A Export-Csv parancsmag a Hozzáfűzés paramétert használja annak megadásához, hogy a $WinService objektumok hozzá legyenek adva a meglévő Services.csv fájlhoz. A Get-Content parancsmag ismétlődik 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 folyamaton a Select-Object parancsmagnak.
Select-Object a Tulajdonság paraméterrel választja ki az objektumtulajdonságok egy részhalmazát. A rendszer elküldi az objektumot a folyamaton a Export-Csv parancsmagnak.
Export-Csv csv formátumba konvertálja az objektumot. A 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 információs fejlécet a CSV-kimenetből, és nem szükséges a PowerShell 6-ban. A Get-Content parancsmag a Path paramétert használja az aktuális könyvtárban található CSV-fájl megjelenítéséhez.
Ha a folyamaton belül a Format-Table parancsmagot használja a tulajdonságok kiválasztásához, váratlan eredmények érkeznek.
Format-Table táblaformátumú objektumokat küld le a folyamatról a Export-Csv parancsmagnak 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 Kényszeríti paramétert a fájl frissítésére.
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 a Path és ItemType paraméterekkel hozza létre a ReadOnly.csv fájlt az 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 Folyamat objektumokat kap. A folyamatobjektumok le lesznek küldve a folyamaton a Export-Csv parancsmagnak.
Export-Csv a folyamatobjektumokat CSV-sztringek sorozatává alakítja. A 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 információs fejlé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 Force paraméter hozzáadódik a Export-Csv parancsmaghoz, hogy az exportálást írásra kényszerítse a fájlba. A Get-Content parancsmag a Path paramétert használja az aktuális könyvtárban található fájl megjelenítéséhez.
9. példa: A Force paraméter használata hozzáfűzéssel
Ez a példa bemutatja, hogyan használhatja a Force és Append 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 létrehozza a PSCustomObjectNév és Verzió tulajdonságokkal. Az értékek a $Content változóban vannak tárolva. A $Content változót a rendszer elküldi a folyamatnak a Export-Csv parancsmagnak.
Export-Csv a Path 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 információs fejlécet a CSV-kimenetből, és nem szükséges a PowerShell 6-ban.
Egy másik kifejezés létrehoz egy PSCustomObject a Name és Edition tulajdonságokkal. Az értékek a $AdditionalContent változóban vannak tárolva. A $AdditionalContent változót a rendszer elküldi a folyamatnak a Export-Csv parancsmagnak. A Append paraméter használatával adja hozzá az adatokat a fájlhoz. A hozzáfűzés sikertelen, mert a Verzió és Editiontulajdonságnév nem egyezik.
A Export-Csv parancsmag Force paraméter használatával kényszeríti az exportálást a fájlba való írásra. A Edition tulajdonság el lesz vetve. A Import-Csv parancsmag a Path paramétert használja az aktuális könyvtárban található fájl megjelenítéséhez.
10. példa: Exportálás CSV-be két oszlop körüli idézőjelekkel
Ez a példa egy DateTime objektumot KONVERTÁL CSV-sztringgé.
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 KONVERTÁL CSV-sztringgé.
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 = 2
}
$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ágokat ad hozzá Add-Member vagy Select-Object a további tulajdonságokat a CSV-fájl fejléceként is hozzáadja.
$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 ExtraProp nevű tulajdonság, amelyet Add-Member adott hozzá, majd exportált a CSV-be. Láthatja, ExtraProp mostantól fejléc a CSV-fájl kimenetében.
Ha egy hozzáadott tulajdonság neve megegyezik a kivonatoló kulcsának nevével, 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. E paraméter nélkül Export-Csv 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.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Confirm
Megerősítést kér a parancsmag futtatása előtt.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
| Aliasok: | Cf |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | 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 idézőjelek közé kell foglalnia.
Paramétertulajdonságok
| Típus: | Char |
| Alapértelmezett érték: | comma (,) |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
Delimiter
| Position: | 1 |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Encoding
Az exportált CSV-fájl kódolását adja meg. Az alapértelmezett érték a utf8NoBOM.
A paraméter elfogadható értékei a következők:
-
ascii: Az ASCII (7 bites) karakterkészlet kódolását használja. -
ansi: Az aktuális kultúra ANSI-kódlapjának kódolását használja. Ez a beállítás hozzáadva -
bigendianunicode: Az UTF-16 formátumú kódolást a big-endian bájtsorrend alkalmazásával végzi. -
bigendianutf32: UTF-32 formátumban kódol nagyvégű bájtsorrend használatával. -
oem: Az alapértelmezett kódolást használja MS-DOS és konzolprogramokhoz. -
unicode: Az UTF-16 formátumban kódol kis végű bájtsorrend használatával. -
utf7: UTF-7 formátumban kódol. -
utf8: UTF-8 formátumban kódol. -
utf8BOM: UTF-8 formátumban kódolódik bájt sorrendi jel (BOM) használatával -
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.
A PowerShell 7.4-től kezdve a Ansi paraméter értékével anélkül adhat meg numerikus azonosítót az aktuális kultúra ANSI-kódlapjához, hogy manuálisan kellene megadnia.
Megjegyzés:
UTF-7* már nem ajánlott. PowerShell 7.1-től kezdve figyelmeztetés jelenik meg, ha utf7-et ad meg a kódolás paraméterhez.
Paramétertulajdonságok
| Típus: | Encoding |
| Alapértelmezett érték: | UTF8NoBOM |
| Elfogadott értékek: | ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32 |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Force
Ez a paraméter lehetővé teszi, hogy Export-Csv felülírja a Írásvédett attribútummal rendelkező fájlokat.
Ha Force és Append paramétereket kombinál, a nem egyező tulajdonságokat tartalmazó objektumok egy CSV-fájlba írhatók. A fájlba csak az egyező tulajdonságok vannak beírva. A rendszer elveti a nem egyező tulajdonságokat.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-IncludeTypeInformation
Ha ezt a paramétert használja, a CSV-kimenet első sora #TYPE tartalmaz, amelyet az objektumtípus teljes neve követ. Például: #TYPE System.Diagnostics.Process.
Ezt a paramétert a PowerShell 6.0-ban vezettük be.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
| Aliasok: | ITI |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | 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 Export-Csv-ba is továbbíthatja.
Paramétertulajdonságok
| Típus: | PSObject |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | True |
| Folyamatból származó érték: | True |
| Folyamatból származó érték tulajdonságnév alapján: | True |
| Fennmaradó argumentumokból származó érték: | 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íráskor 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 egyes idézőjelek azt mondják a PowerShellnek, hogy egyetlen karaktert se értelmezzen escape szekvenciaként.
Paramétertulajdonságok
| Típus: | String |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
| Aliasok: | PSPath, LP |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | 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.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
| Aliasok: | NoOverwrite |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-NoHeader
Ha ezt a paramétert használja, a parancsmag nem ír fejlécsort, amely az oszlopneveket tartalmazza a kimenetbe.
Ez a paraméter a PowerShell 7.4-ben lett hozzáadva.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-NoTypeInformation
Eltávolítja a #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.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
| Aliasok: | NTI |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Path
Kötelező paraméter, amely megadja a CSV kimeneti fájl mentésének helyét.
Paramétertulajdonságok
| Típus: | String |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | 0 |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | 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.
Paramétertulajdonságok
| Típus: | String[] |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
| Aliasok: | QF |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | 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.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
UseCulture
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | 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.
Paramétertulajdonságok
| Típus: | Microsoft.PowerShell.Commands.BaseCsvWritingCommand+QuoteKind |
| Alapértelmezett érték: | Always |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
| Aliasok: | UQ |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | 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.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
| Aliasok: | Wi |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
CommonParameters
Ez a parancsmag a következő gyakori paramétereket támogatja: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction és -WarningVariable. További információért lásd about_CommonParameters.
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 tartalmazza Export-Csv:
- 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 Export-Csv -IncludeTypeInformation használatával mentheti az objektumokat egy CSV-fájlba, 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ő:
- Ha IncludeTypeInformation használ, 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 IncludeTypeInformation nincs használatban, 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 a Export-Csv alapértelmezett viselkedése az, hogy nem tartalmazza a #TYPE információkat a CSV-ben, és NoTypeInformation is utal.
IncludeTypeInformation használható a #TYPE-információk belefoglalására, valamint az Export-Csv alapértelmezett viselkedésének emulálására a PowerShell 6.0 előtt.
Ha több objektumot küld el Export-Csv, Export-Csv az első beküldött objektum tulajdonságai alapján rendszerezi a fájlt. 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 újból 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.
A ConvertTo-Csv és ConvertFrom-Csv parancsmagok CSV-sztringekké és CSV-sztringekké alakítják át az objektumokat.
Export-Csv ugyanaz, mint ConvertTo-Csv, kivéve, hogy a CSV-sztringeket fájlba menti.