Partager via


Export-Csv

Convertit les objets en une série de chaînes de valeurs séparées par des caractères (CSV) et enregistre les chaînes dans un fichier.

Syntaxe

Export-Csv
      -InputObject <PSObject>
      [[-Path] <String>]
      [-LiteralPath <String>]
      [-Force]
      [-NoClobber]
      [-Encoding <Encoding>]
      [-Append]
      [[-Delimiter] <Char>]
      [-IncludeTypeInformation]
      [-NoTypeInformation]
      [-QuoteFields <String[]>]
      [-UseQuotes <QuoteKind>]
      [-NoHeader]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Export-Csv
      -InputObject <PSObject>
      [[-Path] <String>]
      [-LiteralPath <String>]
      [-Force]
      [-NoClobber]
      [-Encoding <Encoding>]
      [-Append]
      [-UseCulture]
      [-IncludeTypeInformation]
      [-NoTypeInformation]
      [-QuoteFields <String[]>]
      [-UseQuotes <QuoteKind>]
      [-NoHeader]
      [-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 caractères 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 Export-CSV de commande. Si Export-CSV les objets mis en forme sont reçus, le fichier CSV contient les propriétés de format plutôt que les propriétés d’objet. Pour exporter uniquement les propriétés sélectionnées d’un objet, utilisez l’applet Select-Object de commande.

Exemples

Exemple 1 : Exporter des propriétés de processus vers un fichier CSV

Cet exemple sélectionne les objets Process avec des propriétés spécifiques, exporte les objets dans 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 au pipeline à l’applet Select-Object de 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 au pipeline à l’applet Export-Csv de commande. Export-Csv convertit les objets de processus en une série de chaînes CSV. Le paramètre Path spécifie que le WmiData.csv fichier 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 obligatoire 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 les objets Process et exporte les objets dans 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 au pipeline à l’applet Export-Csv de commande. Export-Csv convertit les objets de processus en une série de chaînes CSV. Le paramètre Path spécifie que le Processes.csv fichier 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 obligatoire 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 les objets Process et exporte les objets dans un fichier avec un délimiteur 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 au pipeline à l’applet Export-Csv de commande. Export-Csv convertit les objets de processus en une série de chaînes CSV. Le paramètre Path spécifie que le Processes.csv fichier est enregistré dans le répertoire actif. Le paramètre Délimiteur 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 obligatoire 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 les objets Process et exporte les objets dans 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 au pipeline à l’applet Export-Csv de commande. Export-Csv convertit les objets de processus en une série de chaînes CSV. Le paramètre Path spécifie que le Processes.csv fichier 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 séparateur. Le paramètre NoTypeInformation supprime l’en-tête d’informations #TYPE de la sortie CSV et n’est pas obligatoire 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 au pipeline à l’applet Export-Csv de commande. Export-Csv convertit les objets de processus en une série de chaînes CSV. Le paramètre Path spécifie que le Processes.csv fichier 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 des objets de service. Le paramètre DisplayName retourne des services qui contiennent le mot Application. Les objets de service sont envoyés au pipeline à l’applet Select-Object de 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 au pipeline vers l’applet Export-Csv de commande. Export-Csv convertit les objets de service en une série de chaînes CSV. Le paramètre Path spécifie que le Services.csv fichier 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 obligatoire 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 les applets de commande 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 existant Services.csv . 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 : Mettre en forme l’applet de commande dans un pipeline crée des résultats inattendus

Cet exemple montre pourquoi il est important de ne pas utiliser une applet de commande de format dans un pipeline. Lorsque la 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 Select-Object de 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 Export-Csv de commande. Export-Csv convertit l’objet au format CSV. Le paramètre Path spécifie que le DateTime.csv fichier 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 obligatoire 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 les résultats inattendus des propriétés sont reçues. Format-Table envoie des objets de format de tableau vers le bas du pipeline à l’applet Export-Csv de commande plutôt qu’à l’objet DateTime . Export-Csv convertit les objets de 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 ReadOnly.csv fichier dans le répertoire actif. L’applet Set-ItemProperty de commande utilise les paramètres Nom et Valeur 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 au pipeline à l’applet Export-Csv de commande. Export-Csv convertit les objets de processus en une série de chaînes CSV. Le paramètre Path spécifie que le ReadOnly.csv fichier 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 obligatoire 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 Export-Csv de 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 le PSCustomObject avec les propriétés Name et Version . Les valeurs sont stockées dans la $Content variable. La $Content variable est envoyée au pipeline à l’applet Export-Csv de commande. Export-Csv utilise le paramètre Path et enregistre le ParmFile.csv fichier 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 au pipeline à l’applet Export-Csv de commande. Le paramètre Append est utilisé pour ajouter les données au fichier. L’ajout échoue, car il existe une incompatibilité entre la version et l’édition du nom de propriété.

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 au format 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 au format CSV avec des guillemets uniquement si nécessaire

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

Exemple 12 : Convertir des tables de hachage en CSV

Dans PowerShell 7.2 et versions ultérieures, lorsque vous exportez des tables de hachage au format CSV, les clés de la première table de hachage sont sérialisées et utilisées comme en-têtes dans la sortie du fichier csv.

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

Exemple 13 : Conversion de tables de hachage en CSV avec des propriétés supplémentaires

Dans PowerShell 7.2 et versions ultérieures, lorsque vous exportez une table de hachage avec laquelle Add-Member des propriétés supplémentaires sont ajoutées ou Select-Object que les propriétés supplémentaires sont également ajoutées en tant qu’en-tête dans le fichier CSV.

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

Chaque table de hachage a une propriété nommée ExtraProp ajoutée, Add-Member puis exportée au format CSV. Vous pouvez voir ExtraProp qu’il s’agit maintenant d’un en-tête dans la sortie du fichier CSV.

Si une propriété ajoutée porte le même nom qu’une clé à partir de la table de hachage, la clé est prioritaire et seule la clé est exportée au format CSV.

Paramètres

-Append

Utilisez ce paramètre pour 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
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Confirm

Vous demande une confirmation avant d’exécuter l’applet de commande.

Type:SwitchParameter
Alias:cf
Position:Named
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques: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
Valeur par défaut:comma (,)
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques: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).
  • ansi: utilise l’encodage pour la page de codes ANSI de la culture actuelle. Cette option a été ajoutée
  • bigendianunicode: encode au format UTF-16 à l’aide de l’ordre d’octet 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’octet 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 d’encodage autorise également les ID numériques des pages de codes inscrites (par -Encoding 1251exemple) ou des noms de chaînes de pages de codes inscrites (par exemple -Encoding "windows-1251"). Pour plus d’informations, consultez la documentation .NET pour Encoding.CodePage.

À compter de PowerShell 7.4, vous pouvez utiliser la Ansi valeur du paramètre Encodage pour passer l’ID numérique de la page de codes ANSI de la culture actuelle sans avoir à le spécifier manuellement.

Remarque

UTF-7* n’est plus recommandé à utiliser. À partir de PowerShell 7.1, un avertissement est écrit si vous spécifiez utf7 le paramètre Encodage .

Type:Encoding
Valeurs acceptées:ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32
Position:Named
Valeur par défaut:UTF8NoBOM
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Force

Ce paramètre permet Export-Csv de remplacer les fichiers avec 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
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-IncludeTypeInformation

Lorsque ce paramètre est utilisé la première ligne de la sortie CSV contient #TYPE le nom complet du type d’objet. Par exemple : #TYPE System.Diagnostics.Process.

Ce paramètre a été introduit dans PowerShell 6.0.

Type:SwitchParameter
Alias:ITI
Position:Named
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques: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
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-LiteralPath

Spécifie le chemin d'accès au fichier de sortie CSV. Contrairement à Path, la valeur du paramètre LiteralPath est utilisée exactement comme elle est typée. Aucun caractère n’est interprété en tant que caractère générique. Si le chemin inclut des caractères d’échappement, utilisez des guillemets simples. Les guillemets simples indiquent à PowerShell de ne pas interpréter de caractères comme séquences d’échappement.

Type:String
Alias:PSPath, LP
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-NoClobber

Utilisez ce paramètre pour ne Export-CSV pas remplacer un fichier existant. Par défaut, si le fichier existe dans le chemin d’accès spécifié, Export-CSV remplace le fichier sans avertissement.

Type:SwitchParameter
Alias:NoOverwrite
Position:Named
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-NoHeader

Lorsque ce paramètre est utilisé, l’applet de commande n’écrit pas de ligne d’en-tête contenant les noms de colonnes dans la sortie.

Ce paramètre a été ajouté dans PowerShell 7.4.

Type:SwitchParameter
Position:Named
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-NoTypeInformation

Supprime l’en-tête #TYPE d’informations 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
Alias:NTI
Position:Named
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Path

Paramètre obligatoire qui spécifie l’emplacement pour enregistrer le fichier de sortie CSV.

Type:String
Position:0
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-QuoteFields

Spécifie les noms des colonnes qui doivent être entre guillemets. 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[]
Alias:QF
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-UseCulture

Utilise le séparateur de liste pour la culture actuelle comme délimiteur d’élément. Pour rechercher le séparateur de liste pour une culture, utilisez la commande suivante : (Get-Culture).TextInfo.ListSeparator.

Type:SwitchParameter
Position:Named
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-UseQuotes

Spécifie le moment où les guillemets sont utilisés dans les fichiers CSV. Les valeurs possibles sont les suivantes :

  • Jamais - ne citez rien
  • Toujours - citer tout (comportement par défaut)
  • AsNeeded : seuls les champs de guillemets qui contiennent un caractère délimiteur, un guillemet double ou un caractère de nouvelle ligne

Ce paramètre a été ajouté dans PowerShell 7.0.

Type:Microsoft.PowerShell.Commands.BaseCsvWritingCommand+QuoteKind
Alias:UQ
Position:Named
Valeur par défaut:Always
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-WhatIf

Empêche le traitement ou la modification de l’applet de commande. La sortie indique ce qui se passerait si l’applet de commande était exécutée.

Type:SwitchParameter
Alias:wi
Position:Named
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

Entrées

PSObject

Vous pouvez diriger n’importe quel objet avec un adaptateur ETS (Extended Type System) vers cette applet de commande.

Sorties

None

Cette applet de commande ne retourne pas de sortie.

Notes

PowerShell inclut les alias suivants pour Export-Csv:

  • Toutes les plateformes :
    • epcsv

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 du fichier CSV.

Dans le fichier CSV, chaque objet est représenté par une liste séparée par des caractères 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 la forme d’une liste séparée par des caractères.
  • Les chaînes restantes contiennent des listes séparées par des caractères des valeurs de propriété de chaque objet.

À compter de PowerShell 6.0, le comportement par défaut est de Export-CSV ne pas inclure les informations #TYPE dans le csv et NoTypeInformation est implicite. IncludeTypeInformation peut être utilisé pour inclure les informations #TYPE et émuler le comportement par défaut 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 soumettez. 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 les applets de commande convertissent les 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.