Compartilhar via


Export-Csv

Converte objetos em uma série de cadeias de caracteres CSV (valor separado por caractere) e salva as cadeias de caracteres em um arquivo.

Sintaxe

Delimiter (Padrão)

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

O Export-Csv cmdlet cria um arquivo CSV dos objetos que você envia. Cada objeto é uma linha que inclui uma lista separada por caracteres dos valores de propriedade do objeto. Você pode usar o Export-Csv cmdlet para criar planilhas e compartilhar dados com programas que aceitam arquivos CSV como entrada.

Não formate objetos antes de enviá-los para o Export-Csv cmdlet. Se Export-Csv receber objetos formatados, o arquivo CSV conterá as propriedades de formato em vez das propriedades do objeto. Para exportar apenas as propriedades selecionadas de um objeto, use o Select-Object cmdlet.

Exemplos

Exemplo 1: Exportar propriedades do processo para um arquivo CSV

Este exemplo seleciona objetos Process com propriedades específicas e exporta os objetos para um arquivo 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

O Get-Process cmdlet obtém os objetos Process . O parâmetro Name filtra a saída para incluir apenas os objetos de processo WmiPrvSE. Os objetos de processo são enviados pelo pipeline para o cmdlet Select-Object. Select-Object usa o parâmetro Property para selecionar um subconjunto de propriedades de objeto de processo. Os objetos de processo são enviados pelo pipeline para o cmdlet Export-Csv. Export-Csv converte os objetos de processo em uma série de strings CSV. O parâmetro Path especifica que o WmiData.csv arquivo é salvo no diretório atual. O parâmetro NoTypeInformation remove o cabeçalho de informações #TYPE da saída CSV e não é necessário no PowerShell 6. O Import-Csv cmdlet usa o parâmetro Path para exibir o arquivo localizado no diretório atual.

Exemplo 2: Exportar processos para um arquivo delimitado por vírgulas

Este exemplo obtém objetos Process e exporta os objetos para um arquivo 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", ...

O Get-Process cmdlet obtém objetos Process . Os objetos de processo são enviados pelo pipeline para o cmdlet Export-Csv. Export-Csv converte os objetos de processo em uma série de strings CSV. O parâmetro Path especifica que o Processes.csv arquivo é salvo no diretório atual. O parâmetro NoTypeInformation remove o cabeçalho de informações #TYPE da saída CSV e não é necessário no PowerShell 6. O Get-Content cmdlet usa o parâmetro Path para exibir o arquivo localizado no diretório atual.

Exemplo 3: Exportar processos para um arquivo delimitado por ponto-e-vírgula

Este exemplo obtém objetos Process e exporta os objetos para um arquivo com um delimitador de ponto-e-vírgula.

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

O Get-Process cmdlet obtém objetos Process . Os objetos de processo são enviados pelo pipeline para o cmdlet Export-Csv. Export-Csv converte os objetos de processo em uma série de strings CSV. O parâmetro Path especifica que o Processes.csv arquivo é salvo no diretório atual. O parâmetro Delimitador especifica um ponto e vírgula para separar os valores da cadeia de caracteres. O parâmetro NoTypeInformation remove o cabeçalho de informações #TYPE da saída CSV e não é necessário no PowerShell 6. O Get-Content cmdlet usa o parâmetro Path para exibir o arquivo localizado no diretório atual.

Exemplo 4: Exportar processos usando o separador de lista da cultura atual

Este exemplo obtém objetos Process e exporta os objetos para um arquivo. O delimitador é o separador de lista da cultura atual.

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

O cmdlet Get-Culture usa as propriedades aninhadas TextInfo e ListSeparator e exibe o separador de lista padrão da cultura atual. O Get-Process cmdlet obtém objetos Process . Os objetos de processo são enviados pelo pipeline para o cmdlet Export-Csv. Export-Csv converte os objetos de processo em uma série de strings CSV. O parâmetro Path especifica que o Processes.csv arquivo é salvo no diretório atual. O parâmetro UseCulture usa o separador de lista padrão da cultura atual como delimitador. O parâmetro NoTypeInformation remove o cabeçalho de informações #TYPE da saída CSV e não é necessário no PowerShell 6. O Get-Content cmdlet usa o parâmetro Path para exibir o arquivo localizado no diretório atual.

Exemplo 5: Exportar processos com informações de tipo

Este exemplo explica como incluir as informações do cabeçalho #TYPE em um arquivo CSV. O cabeçalho #TYPE é o padrão em versões anteriores ao 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", ...

O Get-Process cmdlet obtém objetos Process . Os objetos de processo são enviados pelo pipeline para o cmdlet Export-Csv. Export-Csv converte os objetos de processo em uma série de strings CSV. O parâmetro Path especifica que o Processes.csv arquivo é salvo no diretório atual. O IncludeTypeInformation inclui o cabeçalho de informações #TYPE na saída CSV. O Get-Content cmdlet usa o parâmetro Path para exibir o arquivo localizado no diretório atual.

Exemplo 6: Exportar e acrescentar objetos a um arquivo CSV

Este exemplo descreve como exportar objetos para um arquivo CSV e usar o parâmetro Append para adicionar objetos a um arquivo existente.

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

O Get-Service cmdlet obtém objetos de serviço. O parâmetro DisplayName retorna serviços que contêm a palavra Application. Os objetos de serviço são enviados pelo pipeline para o cmdlet Select-Object. Select-Object usa o parâmetro Property para especificar as propriedades DisplayName e Status . A $AppService variável armazena os objetos.

Os objetos $AppService são enviados pelo pipeline para o cmdlet Export-Csv. Export-Csv converte os objetos de serviço em uma série de strings CSV. O parâmetro Path especifica que o Services.csv arquivo é salvo no diretório atual. O parâmetro NoTypeInformation remove o cabeçalho de informações #TYPE da saída CSV e não é necessário no PowerShell 6. O Get-Content cmdlet usa o parâmetro Path para exibir o arquivo localizado no diretório atual.

Os Get-Service cmdlets e Select-Object são repetidos para serviços que contêm a palavra Windows. A $WinService variável armazena os objetos de serviço. O Export-Csv cmdlet usa o parâmetro Append para especificar que os $WinService objetos são adicionados ao arquivo existente Services.csv . O Get-Content cmdlet é repetido para exibir o arquivo atualizado que inclui os dados acrescentados.

Exemplo 7: o cmdlet de formato em um pipeline cria resultados inesperados

Este exemplo mostra por que é importante não usar um cmdlet de formato em um pipeline. Quando uma saída inesperada for recebida, solucione problemas da sintaxe do 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",,,,,

O Get-Date cmdlet obtém o objeto DateTime . O objeto é enviado pelo pipeline para o cmdlet Select-Object. Select-Object usa o parâmetro Property para selecionar um subconjunto de propriedades de objeto. O objeto é enviado pelo pipeline para o cmdlet Export-Csv. Export-Csv converte o objeto em um formato CSV. O parâmetro Path especifica que o DateTime.csv arquivo é salvo no diretório atual. O parâmetro NoTypeInformation remove o cabeçalho de informações #TYPE da saída CSV e não é necessário no PowerShell 6. O Get-Content cmdlet usa o parâmetro Path para exibir o arquivo CSV localizado no diretório atual.

Quando o Format-Table cmdlet é usado no pipeline para selecionar propriedades, resultados inesperados são recebidos. Format-Table envia objetos de formato de tabela pelo pipeline para o Export-Csv cmdlet em vez do objeto DateTime . Export-Csv converte os objetos de formato de tabela em uma série de strings CSV. O Get-Content cmdlet exibe o arquivo CSV que contém os objetos de formato de tabela.

Exemplo 8: Usando o parâmetro Force para substituir arquivos somente leitura

Este exemplo cria um arquivo vazio e somente leitura e usa o parâmetro Force para atualizar o arquivo.

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

O New-Item cmdlet usa os parâmetros Path e ItemType para criar o ReadOnly.csv arquivo no diretório atual. O Set-ItemProperty cmdlet usa os parâmetros Name e Value para alterar a propriedade IsReadOnly do arquivo para true. O Get-Process cmdlet obtém objetos Process . Os objetos de processo são enviados pelo pipeline para o cmdlet Export-Csv. Export-Csv converte os objetos de processo em uma série de strings CSV. O parâmetro Path especifica que o ReadOnly.csv arquivo é salvo no diretório atual. O parâmetro NoTypeInformation remove o cabeçalho de informações #TYPE da saída CSV e não é necessário no PowerShell 6. A saída mostra que o arquivo não foi gravado porque o acesso foi negado.

O parâmetro Force é adicionado ao Export-Csv cmdlet para forçar a exportação a gravar no arquivo. O Get-Content cmdlet usa o parâmetro Path para exibir o arquivo localizado no diretório atual.

Exemplo 9: Usando o parâmetro Force com Append

Este exemplo mostra como usar os parâmetros Force e Append . Quando esses parâmetros são combinados, propriedades de objeto incompatíveis podem ser gravadas em um arquivo 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

Uma expressão cria o PSCustomObject com as propriedades Name e Version . Os valores são armazenados na variável $Content. A variável $Content é enviada pelo pipeline para o cmdlet Export-Csv. Export-Csv usa o parâmetro Path e salva o ParmFile.csv arquivo no diretório atual. O parâmetro NoTypeInformation remove o cabeçalho de informações #TYPE da saída CSV e não é necessário no PowerShell 6.

Outra expressão cria um PSCustomObject com as propriedades Name e Edition . Os valores são armazenados na variável $AdditionalContent. A variável $AdditionalContent é enviada pelo pipeline para o cmdlet Export-Csv. O parâmetro Append é usado para adicionar os dados ao arquivo. O acréscimo falha porque há uma incompatibilidade de nome de propriedade entre Version e Edition.

O Export-Csv parâmetro cmdlet Force é usado para forçar a exportação a gravar no arquivo. A propriedade Edition é descartada. O Import-Csv cmdlet usa o parâmetro Path para exibir o arquivo localizado no diretório atual.

Exemplo 10: Exportar para CSV com aspas em torno de duas colunas

Este exemplo converte um objeto DateTime em uma cadeia de caracteres 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

Exemplo 11: Exportar para CSV com aspas somente quando necessário

Este exemplo converte um objeto DateTime em uma cadeia de caracteres 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

Exemplo 12: Converter hashtables em CSV

No PowerShell 7.2 e superior, quando você exporta hashables para CSV, as chaves do primeiro hashtable são serializadas e usadas como cabeçalhos na saída do arquivo csv.

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

Exemplo 13: Converter hashtables em CSV com propriedades adicionais

No PowerShell 7.2 e superior, quando você exporta um hashtable que tem propriedades adicionais adicionadas ou Add-MemberSelect-Object as propriedades adicionais também são adicionadas como um cabeçalho no arquivo 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"

Cada hashtable tem uma propriedade nomeada ExtraProp adicionada e Add-Member exportada para CSV. Agora você pode ver ExtraProp que é um cabeçalho na saída do arquivo CSV.

Se uma propriedade adicionada tiver o mesmo nome que uma chave do hashtable, a chave terá precedência e somente a chave será exportada para CSV.

Parâmetros

-Append

Use esse parâmetro para adicionar Export-Csv a saída CSV ao final do arquivo especificado. Sem esse parâmetro, Export-Csv substitui o conteúdo do arquivo sem aviso.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Confirm

Solicita sua confirmação antes de executar o cmdlet.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False
Aliases:cf

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Delimiter

Especifica um delimitador para separar os valores de propriedade. O padrão é uma vírgula (,). Insira um caractere, como dois-pontos (:). Para especificar um ponto-e-vírgula (;), coloque-o entre aspas.

Propriedades do parâmetro

Tipo:Char
Valor padrão:comma (,)
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

Delimiter
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Encoding

Especifica a codificação do arquivo CSV exportado. O valor padrão é utf8NoBOM.

Os valores aceitáveis para esse parâmetro são os seguintes:

  • ascii: usa a codificação para o conjunto de caracteres ASCII (7 bits).
  • ansi: usa a codificação para a página de código ANSI da cultura vigente. Essa opção foi adicionada
  • bigendianunicode: codifica em formato UTF-16 usando a ordem de byte big-endian.
  • bigendianutf32: codifica em formato UTF-32 usando a ordem de byte big-endian.
  • oem: usa a codificação padrão para MS-DOS e programas de console.
  • unicode: codifica em formato UTF-16 usando a ordem de byte little-endian.
  • utf7: codifica em formato UTF-7.
  • utf8: codifica em formato UTF-8.
  • utf8BOM: codifica em formato UTF-8 com BOM (marca de ordem de byte)
  • utf8NoBOM: codifica no formato UTF-8 sem BOM (Byte Order Mark)
  • utf32: codifica em formato UTF-32.

A partir do PowerShell 6.2, o parâmetro de codificação de também permite IDs numéricas de páginas de código registradas (como ) ou nomes de cadeia de caracteres de páginas de código registradas (como ). Para obter mais informações, consulte a documentação do .NET para Encoding.CodePage.

A partir do PowerShell 7.4, você pode usar o valor Ansi para o parâmetro de Codificação para passar a ID numérica da página de código ANSI da cultura atual sem precisar especificá-la manualmente.

Observação

UTF-7* não é mais recomendável para uso. A partir do PowerShell 7.1, é gerado um aviso se você especifica utf7 para o parâmetro Encoding.

Propriedades do parâmetro

Tipo:Encoding
Valor padrão:UTF8NoBOM
Valores aceitos:ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Force

Este parâmetro permite Export-Csv sobrescrever arquivos com o atributo Somente leitura .

Quando os parâmetros Force e Append são combinados, os objetos que contêm propriedades incompatíveis podem ser gravados em um arquivo CSV. Somente as propriedades correspondentes são gravadas no arquivo. As propriedades incompatíveis são descartadas.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-IncludeTypeInformation

Quando esse parâmetro é usado, a primeira linha da saída CSV contém #TYPE o nome totalmente qualificado do tipo de objeto. Por exemplo, #TYPE System.Diagnostics.Process.

Esse parâmetro foi introduzido no PowerShell 6.0.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False
Aliases:ITI

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-InputObject

Especifica os objetos a serem exportados como strings CSV. Insira uma variável que contenha os objetos ou digite um comando ou expressão que obtém os objetos. Você também pode redirecionar objetos para Export-Csv.

Propriedades do parâmetro

Tipo:PSObject
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:True
Valor do pipeline:True
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False

-LiteralPath

Especifica o caminho para o arquivo de saída CSV. Ao contrário do caminho , o valor do parâmetro LiteralPath é usado exatamente como ele é digitado. Nenhum caractere é interpretado como caractere curinga. Se o caminho incluir caracteres de escape, use aspas simples. Aspas simples indicam ao PowerShell que não deve interpretar nenhum caractere como uma sequência de escape.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:PSPath, LP

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-NoClobber

Use esse parâmetro para que Export-Csv não substitua um arquivo existente. Por padrão, se o arquivo existir no caminho especificado, Export-Csv o substituirá o arquivo sem aviso.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False
Aliases:NoOverwrite

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-NoHeader

Quando esse parâmetro é usado, o cmdlet não grava uma linha de cabeçalho contendo os nomes de coluna na saída.

Esse parâmetro foi adicionado no PowerShell 7.4.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-NoTypeInformation

Remove o cabeçalho de informações #TYPE da saída. Esse parâmetro tornou-se o padrão no PowerShell 6.0 e está incluído para compatibilidade com versões anteriores.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False
Aliases:NTI

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Path

Um parâmetro obrigatório que especifica o local para salvar o arquivo de saída CSV.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:0
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-QuoteFields

Especifica os nomes das colunas que devem ser entre aspas. Quando esse parâmetro é usado, somente as colunas especificadas são entre aspas. Esse parâmetro foi adicionado no PowerShell 7.0.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:QF

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-UseCulture

Usa o separador de lista para a cultura atual como delimitador de item. Para localizar o separador de lista para uma cultura, use o seguinte comando: (Get-Culture).TextInfo.ListSeparator.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

UseCulture
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-UseQuotes

Especifica quando aspas são usadas nos arquivos CSV. Os valores possíveis são:

  • Nunca - não assopa nada
  • Always – aspas de tudo (comportamento padrão)
  • AsNeeded - somente os campos de aspas que contêm um caractere delimitador, uma aspa dupla ou um caractere de nova linha

Esse parâmetro foi adicionado no PowerShell 7.0.

Propriedades do parâmetro

Tipo:Microsoft.PowerShell.Commands.BaseCsvWritingCommand+QuoteKind
Valor padrão:Always
Dá suporte a curingas:False
DontShow:False
Aliases:UQ

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-WhatIf

Impede que o cmdlet seja processado ou faça alterações. A saída mostra o que aconteceria se o cmdlet fosse executado.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False
Aliases:wi

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

CommonParameters

Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.

Entradas

PSObject

Você pode redirecionar qualquer objeto com um adaptador ETS (Sistema de Tipo Estendido) para este cmdlet.

Saídas

None

Esse cmdlet não retorna nenhuma saída.

Observações

O PowerShell inclui os seguintes aliases para Export-Csv:

  • Todas as plataformas:
    • epcsv

O Export-Csv cmdlet converte os objetos que você envia em uma série de cadeias de caracteres CSV e os salva no arquivo de texto especificado. Você pode usar Export-Csv -IncludeTypeInformation para salvar objetos em um arquivo CSV e, em seguida, usar o Import-Csv cmdlet para criar objetos do texto no arquivo CSV.

No arquivo CSV, cada objeto é representado por uma lista separada por caracteres dos valores de propriedade do objeto. Os valores de propriedade são convertidos em strings usando o método ToString(). As cadeias de caracteres são representadas pelo nome do valor da propriedade. Export-Csv -IncludeTypeInformation não exporta os métodos do objeto.

As cadeias de caracteres CSV são saída da seguinte maneira:

  • Se IncludeTypeInformation for usado, a primeira cadeia de caracteres conterá o cabeçalho de informações #TYPE seguido pelo nome totalmente qualificado do tipo de objeto. Por exemplo, #TYPESystem.Diagnostics.Process .
  • Se IncludeTypeInformation não for usado, a primeira cadeia de caracteres incluirá os cabeçalhos de coluna. Os cabeçalhos contêm os nomes de propriedade do primeiro objeto como uma lista separada por caracteres.
  • As cadeias de caracteres restantes contêm listas separadas por caracteres dos valores de propriedade de cada objeto.

A partir do PowerShell 6.0, o comportamento padrão do Export-Csv é não incluir as informações de #TYPE no CSV e NoTypeInformation. IncludeTypeInformation pode ser usado para incluir as informações de #TYPE e emular o comportamento padrão de antes do Export-Csv PowerShell 6.0.

Quando você envia vários objetos para o Export-Csv, Export-Csv o organiza o arquivo com base nas propriedades do primeiro objeto enviado. Se os objetos restantes não tiverem uma das propriedades especificadas, o valor da propriedade desse objeto será nulo, conforme representado por duas vírgulas consecutivas. Se os objetos restantes tiverem propriedades adicionais, esses valores de propriedade não serão incluídos no arquivo.

Você pode usar o Import-Csv cmdlet para recriar objetos das cadeias de caracteres CSV nos arquivos. Os objetos resultantes são versões CSV dos objetos originais que consistem em representações de cadeia de caracteres dos valores de propriedade e nenhum método.

Os ConvertTo-Csv cmdlets e ConvertFrom-Csv convertem objetos em cadeias de caracteres CSV e de cadeias de caracteres CSV. Export-Csv é o mesmo ConvertTo-Csvque , exceto que ele salva as strings CSV em um arquivo.