PowerShell – `Export-Csv` : exporter un fichier CSV

Export-Csv permet d’enregistrer le résultat d’une commande PowerShell dans un fichier CSV. Un CSV est un fichier texte où les données sont organisées en colonnes séparées par des virgules ; il s’ouvre facilement avec Excel, LibreOffice ou un éditeur de texte.

    6tq
  • niveau

PowerShell n’exporte pas du texte brut : il exporte des objets, dont chaque propriété devient une colonne.


Syntaxe de base

<commande> | Export-Csv -Path "fichier.csv"

Exemple :

Get-Process | Export-Csv -Path "processus.csv"

Cela crée un fichier CSV contenant toutes les propriétés de chaque processus.


Option essentielle : -NoTypeInformation

PowerShell ajoute par défaut une première ligne indiquant le type d’objet. Pour un CSV propre (surtout pour Excel), on supprime cette ligne :

Get-Process | Export-Csv "processus.csv" -NoTypeInformation

Choisir les colonnes avant export

Utilisez Select-Object pour ne garder que les propriétés utiles.

Exemple :

Get-ChildItem -File |
    Select-Object Name, Length, LastWriteTime |
    Export-Csv "fichiers.csv" -NoTypeInformation

Exporter en utilisant un autre séparateur (point-virgule)

Pratique pour Excel en français :

Export-Csv "data.csv" -Delimiter ";"

Ajouter au fichier au lieu d’écraser

Export-Csv "log.csv" -Append -NoTypeInformation

Résumé

Action Commande
Exporter un résultat `… Export-Csv "file.csv"`
Export propre sans entête technique -NoTypeInformation
Définir les colonnes `… Select-Object … Export-Csv`
Délimiteur personnalisé -Delimiter ";"
Ajouter au fichier -Append

Pour aller plus loin