Export-Csv
Convertit les objets en une série de chaînes de valeurs séparées par des virgules (CSV) et enregistre les chaînes dans un fichier.
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
L’applet Export-CSV
de commande crée un fichier CSV des objets que vous envoyez. Chaque objet est une ligne qui inclut une liste séparée par des virgules des valeurs de propriété de l’objet. Vous pouvez utiliser l’applet Export-CSV
de commande pour créer des feuilles de calcul et partager des données avec des programmes qui acceptent des fichiers CSV comme entrée.
Ne mettez pas en forme les objets avant de les envoyer à l’applet de Export-CSV
commande. Si Export-CSV
reçoit des objets mis en forme, le fichier CSV contient les propriétés de format plutôt que les propriétés de l’objet. Pour exporter uniquement les propriétés sélectionnées d’un objet, utilisez l’applet de Select-Object
commande .
Exemples
Exemple 1 : Exporter les propriétés de processus vers un fichier CSV
Cet exemple sélectionne des objets Process avec des propriétés spécifiques, exporte les objets vers un fichier CSV.
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
L’applet Get-Process
de commande obtient les objets Process . Le paramètre Name filtre la sortie pour inclure uniquement les objets de processus WmiPrvSE. Les objets de processus sont envoyés vers le bas du pipeline à l’applet de Select-Object
commande. Select-Object
utilise le paramètre Property pour sélectionner un sous-ensemble de propriétés d’objet de processus. Les objets de processus sont envoyés vers le bas du pipeline à l’applet de Export-Csv
commande. Export-Csv
convertit les objets de processus en une série de chaînes CSV. Le paramètre Path spécifie que le fichier WmiData.csv est enregistré dans le répertoire actif. Le paramètre NoTypeInformation supprime l’en-tête d’informations #TYPE de la sortie CSV et n’est pas requis dans PowerShell 6. L’applet Import-Csv
de commande utilise le paramètre Path pour afficher le fichier situé dans le répertoire actif.
Exemple 2 : Exporter des processus vers un fichier délimité par des virgules
Cet exemple obtient des objets Process et les exporte vers un fichier CSV.
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", ...
L’applet Get-Process
de commande obtient les objets Process . Les objets de processus sont envoyés vers le bas du pipeline à l’applet de Export-Csv
commande. Export-Csv
convertit les objets de processus en une série de chaînes CSV.
Le paramètre Path spécifie que le fichier Processes.csv est enregistré dans le répertoire actif. Le paramètre NoTypeInformation supprime l’en-tête d’informations #TYPE de la sortie CSV et n’est pas requis dans PowerShell 6. L’applet Get-Content
de commande utilise le paramètre Path pour afficher le fichier situé dans le répertoire actif.
Exemple 3 : Exporter des processus vers un fichier délimité par des points-virgules
Cet exemple obtient des objets Process et les exporte vers un fichier avec un délimiteur de point-virgule.
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"; ...
L’applet Get-Process
de commande obtient les objets Process . Les objets de processus sont envoyés vers le bas du pipeline à l’applet de Export-Csv
commande. Export-Csv
convertit les objets de processus en une série de chaînes CSV.
Le paramètre Path spécifie que le fichier Processes.csv est enregistré dans le répertoire actif. Le paramètre Delimiter spécifie un point-virgule pour séparer les valeurs de chaîne. Le paramètre NoTypeInformation supprime l’en-tête d’informations #TYPE de la sortie CSV et n’est pas requis dans PowerShell 6. L’applet Get-Content
de commande utilise le paramètre Path pour afficher le fichier situé dans le répertoire actif.
Exemple 4 : Exporter des processus à l’aide du séparateur de liste de la culture actuelle
Cet exemple obtient des objets Process et les exporte vers un fichier. Le délimiteur est le séparateur de liste de la culture actuelle.
(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", ...
L’applet Get-Culture
de commande utilise les propriétés imbriquées TextInfo et ListSeparator et affiche le séparateur de liste par défaut de la culture actuelle. L’applet Get-Process
de commande obtient les objets Process .
Les objets de processus sont envoyés vers le bas du pipeline à l’applet de Export-Csv
commande. Export-Csv
convertit les objets de processus en une série de chaînes CSV. Le paramètre Path spécifie que le fichier Processes.csv est enregistré dans le répertoire actif. Le paramètre UseCulture utilise le séparateur de liste par défaut de la culture actuelle comme délimiteur. Le paramètre NoTypeInformation supprime l’en-tête d’informations #TYPE de la sortie CSV et n’est pas requis dans PowerShell 6. L’applet Get-Content
de commande utilise le paramètre Path pour afficher le fichier situé dans le répertoire actif.
Exemple 5 : Exporter des processus avec des informations de type
Cet exemple explique comment inclure les informations d’en-tête #TYPE dans un fichier CSV. L’en-tête #TYPE est la valeur par défaut dans les versions antérieures à 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", ...
L’applet Get-Process
de commande obtient les objets Process . Les objets de processus sont envoyés vers le bas du pipeline à l’applet de Export-Csv
commande. Export-Csv
convertit les objets de processus en une série de chaînes CSV.
Le paramètre Path spécifie que le fichier Processes.csv est enregistré dans le répertoire actif. IncludeTypeInformation inclut l’en-tête d’informations #TYPE dans la sortie CSV. L’applet Get-Content
de commande utilise le paramètre Path pour afficher le fichier situé dans le répertoire actif.
Exemple 6 : Exporter et ajouter des objets à un fichier CSV
Cet exemple décrit comment exporter des objets vers un fichier CSV et utiliser le paramètre Append pour ajouter des objets à un fichier existant.
$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"
L’applet Get-Service
de commande obtient les objets de service. Le paramètre DisplayName retourne les services qui contiennent le mot Application. Les objets de service sont envoyés vers le bas du pipeline à l’applet de Select-Object
commande. Select-Object
utilise le paramètre Property pour spécifier les propriétés DisplayName et Status . La $AppService
variable stocke les objets.
Les $AppService
objets sont envoyés vers le bas du pipeline à l’applet de Export-Csv
commande . Export-Csv
convertit les objets de service en une série de chaînes CSV. Le paramètre Path spécifie que le fichier Services.csv est enregistré dans le répertoire actif. Le paramètre NoTypeInformation supprime l’en-tête d’informations #TYPE de la sortie CSV et n’est pas requis dans PowerShell 6. L’applet Get-Content
de commande utilise le paramètre Path pour afficher le fichier situé dans le répertoire actif.
Les Get-Service
applets de commande et Select-Object
sont répétées pour les services qui contiennent le mot Windows. La $WinService
variable stocke les objets de service. L’applet Export-Csv
de commande utilise le paramètre Append pour spécifier que les $WinService
objets sont ajoutés au fichier Services.csv existant. L’applet Get-Content
de commande est répétée pour afficher le fichier mis à jour qui inclut les données ajoutées.
Exemple 7 : l’applet de commande de mise en forme dans un pipeline crée des résultats inattendus
Cet exemple montre pourquoi il est important de ne pas utiliser d’applet de commande de format dans un pipeline. Quand une sortie inattendue est reçue, résolvez les problèmes de syntaxe du pipeline.
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",,,,,
L’applet Get-Date
de commande obtient l’objet DateTime . L’objet est envoyé vers le bas du pipeline à l’applet de Select-Object
commande . Select-Object
utilise le paramètre Property pour sélectionner un sous-ensemble de propriétés d’objet. L’objet est envoyé vers le bas du pipeline à l’applet de Export-Csv
commande . Export-Csv
convertit l’objet au format CSV. Le paramètre Path spécifie que le fichier DateTime.csv est enregistré dans le répertoire actif. Le paramètre NoTypeInformation supprime l’en-tête d’informations #TYPE de la sortie CSV et n’est pas requis dans PowerShell 6. L’applet Get-Content
de commande utilise le paramètre Path pour afficher le fichier CSV situé dans le répertoire actif.
Lorsque l’applet Format-Table
de commande est utilisée dans le pipeline pour sélectionner des propriétés, des résultats inattendus sont reçus. Format-Table
envoie des objets de format de table dans le pipeline à l’applet Export-Csv
de commande plutôt qu’à l’objet DateTime . Export-Csv
convertit les objets au format de tableau en une série de chaînes CSV. L’applet Get-Content
de commande affiche le fichier CSV qui contient les objets de format de tableau.
Exemple 8 : Utilisation du paramètre Force pour remplacer les fichiers en lecture seule
Cet exemple crée un fichier vide en lecture seule et utilise le paramètre Force pour mettre à jour le fichier.
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"; ...
L’applet New-Item
de commande utilise les paramètres Path et ItemType pour créer le fichier ReadOnly.csv dans le répertoire actif. L’applet Set-ItemProperty
de commande utilise les paramètres Name et Value pour remplacer la propriété IsReadOnly du fichier par true. L’applet Get-Process
de commande obtient les objets Process . Les objets de processus sont envoyés vers le bas du pipeline à l’applet de Export-Csv
commande. Export-Csv
convertit les objets de processus en une série de chaînes CSV. Le paramètre Path spécifie que le fichier ReadOnly.csv est enregistré dans le répertoire actif. Le paramètre NoTypeInformation supprime l’en-tête d’informations #TYPE de la sortie CSV et n’est pas requis dans PowerShell 6. La sortie indique que le fichier n’est pas écrit, car l’accès est refusé.
Le paramètre Force est ajouté à l’applet de Export-Csv
commande pour forcer l’exportation à écrire dans le fichier. L’applet Get-Content
de commande utilise le paramètre Path pour afficher le fichier situé dans le répertoire actif.
Exemple 9 : Utilisation du paramètre Force avec Append
Cet exemple montre comment utiliser les paramètres Force et Append . Lorsque ces paramètres sont combinés, les propriétés d’objet incompatibles peuvent être écrites dans un fichier CSV.
$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
Une expression crée l’objet PSCustomObject avec les propriétés Name et Version . Les valeurs sont stockées dans la $Content
variable. La $Content
variable est envoyée vers le bas du pipeline à l’applet de Export-Csv
commande. Export-Csv
utilise le paramètre Path et enregistre le fichier ParmFile.csv dans le répertoire actif. Le paramètre NoTypeInformation supprime l’en-tête d’informations #TYPE de la sortie CSV et n’est pas obligatoire dans PowerShell 6.
Une autre expression crée un PSCustomObject avec les propriétés Name et Edition . Les valeurs sont stockées dans la $AdditionalContent
variable. La $AdditionalContent
variable est envoyée vers le bas du pipeline à l’applet de Export-Csv
commande. Le paramètre Append est utilisé pour ajouter les données au fichier. L’ajout échoue, car il existe une incompatibilité de nom de propriété entre version et édition.
Le Export-Csv
paramètre Force de l’applet de commande est utilisé pour forcer l’exportation à écrire dans le fichier. La propriété Edition est ignorée. L’applet Import-Csv
de commande utilise le paramètre Path pour afficher le fichier situé dans le répertoire actif.
Exemple 10 : Exporter vers CSV avec des guillemets autour de deux colonnes
Cet exemple convertit un objet DateTime en chaîne CSV.
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
Exemple 11 : Exporter vers CSV avec des guillemets uniquement en cas de besoin
Cet exemple convertit un objet DateTime en chaîne CSV.
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
Paramètres
-Append
Utilisez ce paramètre afin d’ajouter Export-CSV
la sortie CSV à la fin du fichier spécifié. Sans ce paramètre, Export-CSV
remplace le contenu du fichier sans avertissement.
Ce paramètre a été introduit dans Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Vous demande une confirmation avant d’exécuter l’applet de commande.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Delimiter
Spécifie un délimiteur pour séparer les valeurs de propriété. La valeur par défaut est une virgule (,
). Entrez un caractère, tel qu’un signe deux-points (:
). Pour spécifier un point-virgule (;
), placez-le entre guillemets.
Type: | Char |
Position: | 1 |
Default value: | comma (,) |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Encoding
Spécifie l'encodage pour le fichier CSV exporté. La valeur par défaut est utf8NoBOM
.
Les valeurs acceptables pour ce paramètre sont les suivantes :
ascii
: utilise l’encodage pour le jeu de caractères ASCII (7 bits).bigendianunicode
: encode au format UTF-16 à l’aide de l’ordre d’octets big-endian.bigendianutf32
: encode au format UTF-32 à l’aide de l’ordre d’octet big-endian.oem
: utilise l’encodage par défaut pour les programmes MS-DOS et console.unicode
: encode au format UTF-16 à l’aide de l’ordre d’octets little endian.utf7
: encode au format UTF-7.utf8
: encode au format UTF-8.utf8BOM
: encode au format UTF-8 avec marque d’ordre d’octet (BOM)utf8NoBOM
: encode au format UTF-8 sans marque d’ordre d’octet (BOM)utf32
: encode au format UTF-32.
À compter de PowerShell 6.2, le paramètre Encodage autorise également les ID numériques des pages de code inscrites (comme -Encoding 1251
) ou les noms de chaîne des pages de code inscrites (comme -Encoding "windows-1251"
). Pour plus d’informations, consultez la documentation .NET pour Encoding.CodePage.
Notes
Il n’est plus recommandé d’utiliser UTF-7*. À partir de PowerShell 7.1, un avertissement est écrit si vous spécifiez utf7
pour le paramètre Encodage .
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
Ce paramètre permet Export-Csv
de remplacer les fichiers par l’attribut Lecture seule .
Lorsque les paramètres Force et Append sont combinés, les objets qui contiennent des propriétés incompatibles peuvent être écrits dans un fichier CSV. Seules les propriétés qui correspondent sont écrites dans le fichier. Les propriétés incompatibles sont ignorées.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-IncludeTypeInformation
Lorsque ce paramètre est utilisé, la première ligne de la sortie CSV contient #TYPE suivi du nom complet du type d’objet. Par exemple, #TYPE System.Diagnostics.Process.
Ce paramètre a été introduit dans PowerShell 6.0.
Type: | SwitchParameter |
Aliases: | ITI |
Position: | Named |
Default value: | #TYPE <Object> |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Spécifie les objets à exporter en tant que chaînes CSV. Entrez une variable contenant les objets, ou tapez une commande ou une expression qui les obtient. Vous pouvez également diriger des objets vers Export-CSV
.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LiteralPath
Spécifie le chemin d'accès au fichier de sortie CSV. Contrairement au paramètre Path, la valeur du paramètre LiteralPath est utilisée exactement telle qu'elle est tapée. Aucun caractère n’est interprété en tant que caractère générique. Si le chemin d’accès comprend des caractères d’échappement, utilisez des guillemets simples. Les guillemets simples indiquent à PowerShell de ne pas interpréter de caractères comme des séquences d’échappement.
Type: | String |
Aliases: | PSPath, LP |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NoClobber
Utilisez ce paramètre afin de Export-CSV
ne pas remplacer un fichier existant. Par défaut, si le fichier existe dans le chemin spécifié, Export-CSV
remplace le fichier sans avertissement.
Type: | SwitchParameter |
Aliases: | NoOverwrite |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NoTypeInformation
Supprime l’en-tête d’informations #TYPE de la sortie. Ce paramètre est devenu la valeur par défaut dans PowerShell 6.0 et est inclus pour la compatibilité descendante.
Type: | SwitchParameter |
Aliases: | NTI |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Paramètre obligatoire qui spécifie l’emplacement où enregistrer le fichier de sortie CSV.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-QuoteFields
Spécifie les noms des colonnes à citer. Lorsque ce paramètre est utilisé, seules les colonnes spécifiées sont entre guillemets. Ce paramètre a été ajouté dans PowerShell 7.0.
Type: | String[] |
Aliases: | QF |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UseCulture
Utilise le séparateur de liste pour la culture actuelle comme délimiteur d’éléments. Pour rechercher le séparateur de liste pour une culture, utilisez la commande suivante : (Get-Culture).TextInfo.ListSeparator
.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UseQuotes
Spécifie quand des guillemets sont utilisés dans les fichiers CSV. Les valeurs possibles sont les suivantes :
- Jamais - ne citez rien
- Always : tout citer (comportement par défaut)
- AsNeeded : uniquement les champs guillemets qui contiennent un caractère délimiteur
Ce paramètre a été ajouté dans 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
Empêche le traitement de l’applet de commande ou l’apport de modifications. La sortie indique ce qui se passerait si l’applet de commande était exécutée.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entrées
Vous pouvez diriger n’importe quel objet avec un adaptateur ETS (Extended Type System) vers Export-CSV
.
Sorties
La liste CSV est envoyée au fichier désigné dans le paramètre Path.
Notes
L’applet Export-CSV
de commande convertit les objets que vous envoyez en une série de chaînes CSV et les enregistre dans le fichier texte spécifié. Vous pouvez utiliser Export-CSV -IncludeTypeInformation
pour enregistrer des objets dans un fichier CSV, puis utiliser l’applet Import-Csv
de commande pour créer des objets à partir du texte dans le fichier CSV.
Dans le fichier CSV, chaque objet est représenté par une liste séparée par des virgules des valeurs de propriété de l'objet. Les valeurs de propriété sont converties en chaînes à l’aide de la méthode ToString(). Les chaînes sont représentées par le nom de la valeur de propriété. Export-CSV -IncludeTypeInformation
n’exporte pas les méthodes de l’objet .
Les chaînes CSV sont sorties comme suit :
- Si IncludeTypeInformation est utilisé, la première chaîne contient l’en-tête d’informations #TYPE suivi du nom complet du type d’objet. Par exemple, #TYPE System.Diagnostics.Process.
- Si IncludeTypeInformation n’est pas utilisé, la première chaîne inclut les en-têtes de colonne. Les en-têtes contiennent les noms de propriétés du premier objet sous forme de liste séparée par des virgules.
- Les chaînes restantes contiennent des listes séparées par des virgules des valeurs de propriété de chaque objet.
À compter de PowerShell 6.0, le comportement par défaut de Export-CSV
consiste à ne pas inclure les informations #TYPE dans le fichier CSV et NoTypeInformation est implicite. IncludeTypeInformation peut être utilisé pour inclure les informations #TYPE et émuler le comportement par défaut d’avant Export-CSV
PowerShell 6.0.
Lorsque vous envoyez plusieurs objets à Export-CSV
, Export-CSV
organise le fichier en fonction des propriétés du premier objet que vous envoyez. Si les objets restants n'ont pas l'une des propriétés spécifiées, la valeur de propriété de cet objet est null (représentation sous forme de deux virgules consécutives). Si les objets restants ont des propriétés supplémentaires, ces valeurs de propriété ne sont pas incluses dans le fichier.
Vous pouvez utiliser l’applet Import-Csv
de commande pour recréer des objets à partir des chaînes CSV dans les fichiers. Les objets résultants sont les versions CSV des objets d'origine qui se composent des représentations de chaînes des valeurs de propriété et d'aucune méthode.
Les ConvertTo-Csv
applets de commande et ConvertFrom-Csv
convertissent des objets en chaînes CSV et à partir de chaînes CSV. Export-CSV
est identique à ConvertTo-CSV
, sauf qu’il enregistre les chaînes CSV dans un fichier.