Export-Csv
Converte objetos em uma série de cadeias de caracteres CSV (valores separados por caracteres) e salva as cadeias de caracteres em um arquivo.
Sintaxe
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
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 Select-Object
cmdlet. 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 Export-Csv
cmdlet. 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 Export-Csv
cmdlet. 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 Export-Csv
cmdlet. 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 Delimiter especifica um ponto-e-vírgula para separar os valores de 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 Get-Culture
cmdlet 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 Export-Csv
cmdlet. 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 o 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 Export-Csv
cmdlet. 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 Select-Object
cmdlet. Select-Object
usa o parâmetro Property para especificar as propriedades DisplayName e Status . A $AppService
variável armazena os objetos.
Os $AppService
objetos são enviados pelo pipeline para o Export-Csv
cmdlet. 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 Select-Object
cmdlet. Select-Object
usa o parâmetro Property para selecionar um subconjunto de propriedades de objeto. O objeto é enviado pelo pipeline para o Export-Csv
cmdlet. 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 Export-Csv
cmdlet.
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 $Content
variável. A $Content
variável é enviada pelo pipeline para o Export-Csv
cmdlet. 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 $AdditionalContent
variável. A $AdditionalContent
variável é enviada pelo pipeline para o Export-Csv
cmdlet. 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 tabelas de hash em CSV
No PowerShell 7.2 e superior, quando você exporta tabelas de hash para CSV, as chaves da primeira tabela de hash 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 = 1
}
$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 tabelas de hash em CSV com propriedades adicionais
No PowerShell 7.2 e superior, quando você exporta uma tabela de hash que tem propriedades adicionais adicionadas ou Add-Member
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 tabela de hash tem uma propriedade chamada ExtraProp
added by Add-Member
e exportada para CSV. Você pode ver que ExtraProp
agora é um cabeçalho na saída do arquivo CSV.
Se uma propriedade adicionada tiver o mesmo nome de uma chave da tabela de hash, 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.
Este parâmetro foi introduzido no Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Confirm
Solicita sua confirmação antes de executar o cmdlet.
Tipo: | SwitchParameter |
Aliases: | cf |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Delimiter
Especifica um delimitador para separar os valores da propriedade. O padrão é uma vírgula (,
). Insira um caractere, como dois-pontos (:
). Para especificar um ponto-e-vírgula (;
), coloque-o entre aspas.
Tipo: | Char |
Cargo: | 1 |
Valor padrão: | comma (,) |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Encoding
Especifica a codificação do arquivo CSV exportado. O valor padrão é 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 adicionadabigendianunicode
: Codifica no formato UTF-16 usando a ordem de bytes big-endian.bigendianutf32
: Codifica no formato UTF-32 usando a ordem de bytes big-endian.oem
: Usa a codificação padrão para MS-DOS e programas de console.unicode
: Codifica no formato UTF-16 usando a ordem de bytes little-endian.utf7
: Codifica no formato UTF-7.utf8
: Codifica no formato UTF-8.utf8BOM
: Codifica no formato UTF-8 com Marca de Ordem de Byte (BOM)utf8NoBOM
: Codifica no formato UTF-8 sem Marca de Ordem de Byte (BOM)utf32
: Codifica no formato UTF-32.
A partir do PowerShell 6.2, o parâmetro Encoding também permite IDs numéricas 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 Ansi
valor do parâmetro Encoding para passar a ID numérica da página de código ANSI da cultura atual sem precisar especificá-la manualmente.
Observação
O uso de UTF-7* não é mais recomendado. A partir do PowerShell 7.1, um aviso será escrito se você especificar utf7
para o parâmetro Codificação .
Tipo: | Encoding |
Valores aceitos: | ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32 |
Cargo: | Named |
Valor padrão: | UTF8NoBOM |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | 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.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | 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.
Tipo: | SwitchParameter |
Aliases: | ITI |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-InputObject
Especifica os objetos a exportar como cadeias CSV. Insira uma variável que contém os objetos ou digite um comando ou uma expressão que obtém os objetos. Você também pode canalizar objetos para Export-CSV
.
Tipo: | PSObject |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | 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 é digitado. Nenhum caractere é interpretado como caractere curinga. Se o caminho incluir caracteres de escape, use aspas simples. As aspas simples informam ao PowerShell para não interpretar nenhum caractere como sequências de escape.
Tipo: | String |
Aliases: | PSPath, LP |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | 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.
Tipo: | SwitchParameter |
Aliases: | NoOverwrite |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | 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.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-NoTypeInformation
Remove o #TYPE
cabeçalho de informações 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.
Tipo: | SwitchParameter |
Aliases: | NTI |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Path
Um parâmetro obrigatório que especifica o local para salvar o arquivo de saída CSV.
Tipo: | String |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-QuoteFields
Especifica os nomes das colunas que devem ser citadas. Quando esse parâmetro é usado, somente as colunas especificadas são citadas. Esse parâmetro foi adicionado no PowerShell 7.0.
Tipo: | String[] |
Aliases: | QF |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-UseCulture
Usa o separador de lista para a cultura atual como o delimitador de item. Para localizar o separador de lista de uma cultura, use o seguinte comando: (Get-Culture).TextInfo.ListSeparator
.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-UseQuotes
Especifica quando as aspas são usadas nos arquivos CSV. Os valores possíveis são:
- Nunca - não cite nada
- Sempre - aspas todas (comportamento padrão)
- AsNeeded - apenas campos de aspas que contenham um caractere delimitador, aspas duplas ou caractere de nova linha
Esse parâmetro foi adicionado no PowerShell 7.0.
Tipo: | Microsoft.PowerShell.Commands.BaseCsvWritingCommand+QuoteKind |
Aliases: | UQ |
Cargo: | Named |
Valor padrão: | Always |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | 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.
Tipo: | SwitchParameter |
Aliases: | wi |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
Entradas
Você pode canalizar qualquer objeto com um adaptador ETS (Sistema de Tipos Estendidos) para esse 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 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 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 strings CSV são geradas 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, #TYPE System.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 é Export-CSV
não incluir as informações #TYPE no CSV e NoTypeInformation está implícito. IncludeTypeInformation pode ser usado para incluir as informações do #TYPE e emular o comportamento padrão anterior Export-CSV
ao 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 primeiro objeto será nulo, condição esta representada por duas vírgulas consecutivas. Se os objetos restantes têm propriedades adicionais, os valores de propriedade não sã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 em CSV dos objetos originais, que consistem em representações dos valores das propriedades em cadeia, sem métodos.
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-CSV
que , exceto que ele salva as strings CSV em um arquivo.