Export-Csv
Converte objetos em uma série de cadeias de caracteres de valor separado por caracteres (CSV) e salva as cadeias de caracteres em um arquivo.
Sintaxe
Delimiter (Predefiniçã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 cmdlet Export-Csv cria um arquivo CSV dos objetos enviados. Cada objeto é uma linha que inclui uma lista separada por caracteres dos valores de propriedade do objeto. Você pode usar o cmdlet Export-Csv para criar planilhas e compartilhar dados com programas que aceitam arquivos CSV como entrada.
Não formate objetos antes de enviá-los para o cmdlet Export-Csv. Se Export-Csv receber objetos formatados, o arquivo CSV conterá as propriedades de formato em vez das propriedades do objeto. Para exportar apenas propriedades selecionadas de um objeto, use o cmdlet Select-Object.
Exemplos
Exemplo 1: Exportar propriedades do processo para um arquivo CSV
Este exemplo seleciona Process objetos com propriedades específicas, 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 cmdlet Get-Process obtém o Process objetos. 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 cadeias de caracteres CSV. O parâmetro Path especifica que o arquivo WmiData.csv é 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 cmdlet Import-Csv 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 Process objetos 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 cmdlet Get-Process obtém Process objetos. 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 cadeias de caracteres CSV. O parâmetro Path especifica que o arquivo Processes.csv é 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 cmdlet Get-Content 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 Process objetos 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 cmdlet Get-Process obtém Process objetos. 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 cadeias de caracteres CSV. O parâmetro Path especifica que o arquivo Processes.csv é salvo no diretório atual. O parâmetro Delimiter 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 cmdlet Get-Content 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 Process objetos 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 cmdlet Get-Process obtém Process objetos. 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 cadeias de caracteres CSV. O parâmetro Path especifica que o arquivo Processes.csv é 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 cmdlet Get-Content 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 de cabeçalho do #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 cmdlet Get-Process obtém Process objetos. 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 cadeias de caracteres CSV. O parâmetro Path especifica que o arquivo Processes.csv é salvo no diretório atual. O IncludeTypeInformation inclui o cabeçalho de informações #TYPE na saída CSV. O cmdlet Get-Content 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 cmdlet Get-Service 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 o DisplayName e Status propriedades. A variável $AppService 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 cadeias de caracteres CSV. O parâmetro Path especifica que o arquivo Services.csv é 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 cmdlet Get-Content usa o parâmetro Path para exibir o arquivo localizado no diretório atual.
Os cmdlets Get-Service e Select-Object são repetidos para serviços que contêm a palavra Windows. A variável $WinService armazena os objetos de serviço. O cmdlet Export-Csv usa o parâmetro Append para especificar que os objetos $WinService sejam adicionados ao arquivo Services.csv existente. O cmdlet Get-Content é repetido para exibir o arquivo atualizado que inclui os dados anexados.
Exemplo 7: O cmdlet Format dentro de um pipeline cria resultados inesperados
Este exemplo mostra por que é importante não usar um cmdlet format em um pipeline. Quando a saída inesperada for recebida, solucione problemas na 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 cmdlet Get-Date 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 arquivo DateTime.csv é 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 cmdlet Get-Content usa o parâmetro Path para exibir o arquivo CSV localizado no diretório atual.
Quando o cmdlet Format-Table é usado dentro do pipeline para selecionar propriedades, resultados inesperados são recebidos.
Format-Table envia objetos de formato de tabela pelo pipeline para o cmdlet Export-Csv em vez do objeto DateTime.
Export-Csv converte os objetos de formato de tabela em uma série de cadeias de caracteres CSV. O cmdlet Get-Content 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 cmdlet New-Item usa os parâmetros Path e ItemType para criar o arquivo ReadOnly.csv no diretório atual. O cmdlet Set-ItemProperty usa os parâmetros Name e Value para alterar a propriedade IsReadOnly do arquivo para true. O cmdlet Get-Process obtém Process objetos. 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 cadeias de caracteres CSV. O parâmetro Path especifica que o arquivo ReadOnly.csv é 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 é gravado porque o acesso é negado.
O parâmetro Force é adicionado ao cmdlet Export-Csv para forçar a exportação a gravar no arquivo. O cmdlet Get-Content 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 Name e Version propriedades. 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 arquivo ParmFile.csv 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 Versão e Edition.
O cmdlet Export-Csvparâmetro Force é usado para forçar a exportação a gravar no arquivo. A propriedade Edition é descartada. O cmdlet Import-Csv 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 cotações 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 hashtables para CSV, as chaves da primeira 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: Convertendo hashtables em CSV com propriedades adicionais
No PowerShell 7.2 e superior, quando você exporta uma hashtable que tem propriedades adicionais adicionadas com Add-Member ou Select-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 chamada ExtraProp adicionada por Add-Member e, em seguida, exportada para CSV. Você pode ver ExtraProp agora é um cabeçalho na saída do arquivo CSV.
Se uma propriedade adicionada tiver o mesmo nome de que uma chave da hashtable, a chave terá precedência e somente a chave será exportada para CSV.
Parâmetros
-Append
Use esse parâmetro para que Export-Csv adicione 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 dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | False |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Confirm
Solicita confirmação antes de executar o cmdlet.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | False |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | Cf. |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | 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 dos parâmetros
| Tipo: | Char |
| Default value: | comma (,) |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
Delimiter
| Position: | 1 |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Encoding
Especifica a codificação para o arquivo CSV exportado. O valor predefinido é utf8NoBOM.
Os valores aceitáveis para este 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 atual. Esta opção foi adicionada -
bigendianunicode: Codifica no formato UTF-16 usando a ordem de bytes big-endian. -
bigendianutf32: Codifica no formato UTF-32 utilizando a ordem de bytes big-endian. -
oem: Utiliza a codificação predefinida para MS-DOS e programas de consola. -
unicode: Codifica em formato UTF-16 utilizando a ordem de bytes little-endian. -
utf7: Codifica em formato UTF-7. -
utf8: Codifica em formato UTF-8. -
utf8BOM: Codifica no formato UTF-8 com Byte Order Mark (BOM) -
utf8NoBOM: Codifica no formato UTF-8 sem Byte Order Mark (BOM) -
utf32: Codifica no formato UTF-32.
A partir do PowerShell 6.2, o parâmetro Encoding também permite IDs numéricos de páginas de código registradas (como -Encoding 1251) ou nomes de cadeia de caracteres de páginas de código registradas (como -Encoding "windows-1251"). 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 Encoding para passar a ID numérica para a página de código ANSI da cultura atual sem precisar especificá-la manualmente.
Observação
UTF-7* não é mais recomendado para usar. A partir do PowerShell 7.1, um aviso será escrito se você especificar utf7 para o parâmetro Encoding.
Propriedades dos parâmetros
| Tipo: | Encoding |
| Default value: | UTF8NoBOM |
| Valores aceites: | ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32 |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Force
Esse parâmetro permite que Export-Csv substitua arquivos com o atributo Somente leitura.
Quando 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 que correspondem são gravadas no arquivo. As propriedades incompatíveis são descartadas.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | False |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-IncludeTypeInformation
Quando esse parâmetro é usado, a primeira linha da saída CSV contém #TYPE seguida pelo nome totalmente qualificado do tipo de objeto. Por exemplo, #TYPE System.Diagnostics.Process.
Esse parâmetro foi introduzido no PowerShell 6.0.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | False |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | ITI |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-InputObject
Especifica os objetos a serem exportados como cadeias de caracteres CSV. Insira uma variável que contenha os objetos ou digite um comando ou expressão que obtenha os objetos. Você também pode canalizar objetos para Export-Csv.
Propriedades dos parâmetros
| Tipo: | PSObject |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | True |
| Valor do pipeline: | True |
| Valor do pipeline por nome de propriedade: | True |
| Valor dos restantes argumentos: | False |
-LiteralPath
Especifica o caminho para o arquivo de saída CSV. Ao contrário de Path, o valor do parâmetro LiteralPath é usado exatamente como está digitado. Nenhum caractere é interpretado como carta curinga. Se o caminho incluir caracteres de escape, use aspas simples. Aspas simples indicam ao PowerShell para não interpretar quaisquer caracteres como sequências de escape.
Propriedades dos parâmetros
| Tipo: | String |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | PSPath, LP |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | 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 substitui o arquivo sem aviso.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | False |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | NoOverwrite |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-NoHeader
Quando esse parâmetro é usado, o cmdlet não grava uma linha de cabeçalho contendo os nomes das colunas na saída.
Esse parâmetro foi adicionado no PowerShell 7.4.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | False |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-NoTypeInformation
Remove o cabeçalho de informações #TYPE da saída. Esse parâmetro se tornou o padrão no PowerShell 6.0 e está incluído para compatibilidade com versões anteriores.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | False |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | NTI |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Path
Um parâmetro obrigatório que especifica o local para salvar o arquivo de saída CSV.
Propriedades dos parâmetros
| Tipo: | String |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | 0 |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-QuoteFields
Especifica os nomes das colunas que devem ser citadas. Quando esse parâmetro é usado, somente as colunas especificadas são citadas. Este parâmetro foi adicionado no PowerShell 7.0.
Propriedades dos parâmetros
| Tipo: | String[] |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | QF |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-UseCulture
Usa o separador de lista para a cultura atual como o delimitador de item. Para localizar o separador de lista para uma cultura, use o seguinte comando: (Get-Culture).TextInfo.ListSeparator.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | False |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
UseCulture
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-UseQuotes
Especifica quando as aspas são usadas nos arquivos CSV. Os valores possíveis são:
- Nunca - não cite nada
- Sempre - citar tudo (comportamento padrão)
- AsNeeded - apenas campos de aspas que contenham um caractere delimitador, aspas duplas ou caracteres de nova linha
Este parâmetro foi adicionado no PowerShell 7.0.
Propriedades dos parâmetros
| Tipo: | Microsoft.PowerShell.Commands.BaseCsvWritingCommand+QuoteKind |
| Default value: | Always |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | UQ |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | 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 dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | False |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | Wi |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | 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 canalizar qualquer objeto com um adaptador ETS (Extended Type System) para este cmdlet.
Saídas
None
Este cmdlet não retorna nenhuma saída.
Notas
O PowerShell inclui os seguintes aliases para Export-Csv:
- Todas as plataformas:
epcsv
O cmdlet Export-Csv converte os objetos enviados em uma série de cadeias de caracteres CSV e as salva no arquivo de texto especificado. Você pode usar Export-Csv -IncludeTypeInformation para salvar objetos em um arquivo CSV e, em seguida, usar o cmdlet Import-Csv para criar objetos a partir 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 cadeias de caracteres usando o ToString() método. 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ídas da seguinte maneira:
- Se IncludeTypeInformation for usada, a primeira cadeia de caracteres conterá o cabeçalho de informações #TYPE seguido pelo nome totalmente qualificado do tipo de objeto. Por exemplo, #TYPE System.Diagnostics.Process.
- Se IncludeTypeInformation não for usada, 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 está implícito.
IncludeTypeInformation pode ser usado para incluir as Informações de #TYPE e emular o comportamento padrão do Export-Csv anterior ao PowerShell 6.0.
Quando você envia vários objetos para Export-Csv, o Export-Csv 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 cmdlet Import-Csv para recriar objetos a partir 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 cmdlets ConvertTo-Csv e ConvertFrom-Csv convertem objetos em cadeias de caracteres CSV e em cadeias de caracteres CSV.
Export-Csv é o mesmo que ConvertTo-Csv, exceto que ele salva as cadeias de caracteres CSV em um arquivo.