ConvertTo-CSV
Converte objetos Microsoft .NET Framework em uma série de cadeias de caracteres CSV de tamanho variável.
Sintaxe
ConvertTo-CSV [[-Delimitador] <char>] [-InputObject] <psobject> [-NoTypeInformation] [<CommonParameters>]
ConvertTo-CSV [-UseCulture] [-InputObject] <psobject> [-NoTypeInformation] [<CommonParameters>]
Descrição
O cmdlet ConvertTo-CSV retorna uma série de cadeias de caracteres CSV de tamanho variável que representa os objetos enviados. Em seguida, é possível usar o cmdlet ConvertFrom-CSV para recriar objetos a partir das cadeias de caracteres CSV. 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.
Também é possível usar os cmdlets Export-CSV e Import-CSV para converter objetos do .NET Framework em cadeias de caracteres CSV (e vice-versa). Export-CSV é igual a ConvertTo-CSV, com a exceção de que ele salva as cadeias de caracteres CSV em um arquivo.
É possível usar os parâmetros do cmdlet ConvertTo-CSV para especificar um delimitador diferente de uma vírgula ou direcionar o ConvertTo-CSV para usar o delimitador padrão da cultura atual.
Para obter mais informações, consulte Export-CSV e a seção Observações.
Parâmetros
-Delimitador <char>
Especifica um delimitador para separar os valores de propriedade. O padrão é uma vírgula (,). Digite um caractere, como dois pontos (:).
Para especificar um ponto-e-vírgula (;), coloque-o entre aspas. Caso contrário, ele será interpretado como o delimitador de comandos.
Necessário? |
false |
Posição? |
2 |
Valor padrão |
, (vírgula) |
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-InputObject <psobject>
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. Também é possível enviar objetos para ConvertTo-CSV.
Necessário? |
true |
Posição? |
1 |
Valor padrão |
|
Aceitar entrada do pipeline? |
true (ByValue, ByPropertyName) |
Aceitar caracteres curinga? |
false |
-NoTypeInformation
Omite o cabeçalho de informações de tipo da saída. Por padrão, a cadeia de caracteres na saída contém "#TYPE" seguido pelo nome totalmente qualificado do tipo do objeto .NET Framework.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-UseCulture
Usa o separador de lista da cultura atual como o delimitador de dados. O padrão é uma vírgula (,).
Esse parâmetro é muito útil em scripts que estão sendo distribuídos mundialmente aos usuários. Para localizar o separador de lista de uma cultura, use o comando a seguir: (Get-Culture).TextInfo.ListSeparator.
Necessário? |
false |
Posição? |
named |
Valor padrão |
Vírgula |
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
<CommonParameters>
Esse cmdlet oferece suporte aos parâmetros comuns: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Para obter mais informações, consulte about_Commonparameters.
Entradas e saídas
O tipo de entrada é o tipo dos objetos que você pode canalizar para o cmdlet. O tipo de retorno é o tipo dos objetos que o cmdlet retorna.
Entradas |
System.Management.Automation.PSObject É possível enviar qualquer objeto do .NET Framework para ConvertTo-CSV. |
Saídas |
System.String A saída de CSV é retornada como uma coleção de cadeias de caracteres. |
Observações
No formato CSV, cada objeto é representado por uma lista separada por vírgulas dos valores de suas propriedades. Os valores de propriedade são convertidos em cadeias de caracteres (usando o método ToString() do objeto), de forma que eles geralmente são representados pelo nome do valor da propriedade. O ConvertTo-CSV não exporta os métodos do objeto.
O formato das cadeias de caracteres CSV resultantes é o seguinte:
-- A primeira cadeia de caracteres consiste em '#TYPE' seguido pelo nome totalmente qualificado do tipo .NET Framework do objeto, como #TYPE System.Diagnostics.Process. Para suprimir essa cadeia de caracteres, use o parâmetro NoTypeInformation.
-- A próxima cadeia de caracteres representa os cabeçalhos de coluna. Ela contém uma lista separada por vírgulas dos nomes de todas as propriedades do primeiro objeto.
-- As cadeias de caracteres restantes consistem em listas separadas por vírgulas dos valores de propriedade de cada objeto.
Quando você envia vários objetos ao ConvertTo-CSV, o ConvertTo-CSV ordena as cadeias de caracteres com base nas propriedades do primeiro objeto enviado. Se os objetos restantes não tiverem uma das propriedades especificadas, o valor da propriedade daquele objeto será nulo, conforme representado por duas vírgulas consecutivas. Se os objetos restantes tiverem propriedades adicionais, esses valores de propriedade serão ignorados.
Exemplo 1
C:\PS>get-process powershell | convertto-csv
#TYPE System.Diagnostics.Process
"__NounName","Name","Handles","VM","WS","PM","NPM","Path","Company","CPU","FileVersion","ProductVersion","Description",
"Product","BasePriority","ExitCode","HasExited","ExitTime","Handle","HandleCount","Id","MachineName","MainWindowHandle"
,"MainWindowTitle","MainModule","MaxWorkingSet","MinWorkingSet","Modules","NonpagedSystemMemorySize","NonpagedSystemMem
orySize64","PagedMemorySize","PagedMemorySize64","PagedSystemMemorySize","PagedSystemMemorySize64","PeakPagedMemorySize
","PeakPagedMemorySize64","PeakWorkingSet","PeakWorkingSet64","PeakVirtualMemorySize","PeakVirtualMemorySize64","Priori
tyBoostEnabled","PriorityClass","PrivateMemorySize","PrivateMemorySize64","PrivilegedProcessorTime","ProcessName","Proc
essorAffinity","Responding","SessionId","StartInfo","StartTime","SynchronizingObject","Threads","TotalProcessorTime","U
serProcessorTime","VirtualMemorySize","VirtualMemorySize64","EnableRaisingEvents","StandardInput","StandardOutput","Sta
ndardError","WorkingSet","WorkingSet64","Site","Container"
"Process","powershell","216","597544960","60399616","63197184","21692","C:\WINDOWS\system32\WindowsPowerShell\v1.0\powe
rshell.exe","Microsoft Corporation","3.4788223","6.1.6587.1 (fbl_srv_powershell(nigels).070711-0102)","6.1.6587.1","Win
dows PowerShell","Microsoft® Windows® Operating System","8",,"False",,"860","216","5132",".","5636936","Windows PowerSh
ell 2.0 (04/17/2008 00:10:40)","System.Diagnostics.ProcessModule (powershell.exe)","1413120","204800","System.Diagnosti
cs.ProcessModuleCollection","21692","21692","63197184","63197184","320080","320080","63868928","63868928","60715008","6
0715008","598642688","598642688","True","Normal","63197184","63197184","00:00:00.2028013","powershell","15","True","1",
"System.Diagnostics.ProcessStartInfo","4/21/2008 3:49:19 PM",,"System.Diagnostics.ProcessThreadCollection","00:00:03.51
00225","00:00:03.3072212","597544960","597544960","False",,,,"60399616","60399616",,
Descrição
-----------
Esse comando converte um único objeto de processo no formato CSV. O comando usa o cmdlet Get-Process para obter o processo do PowerShell no computador local. Ele usa um operador de pipeline (|) para enviar o comando para o cmdlet ConvertTo-CSV que o converte em uma série de cadeias de caracteres separadas por vírgula.
Exemplo 2
C:\PS>$date = get-date
C:\PS> convertto-csv -inputobject $date -delimiter ";" -notypeinformation
Descrição
-----------
Esse exemplo converte um objeto de data no formato CSV.
O primeiro comando usa o cmdlet Get-Date para obter a data atual. Ele salva a data na variável $date.
O segundo comando usa o cmdlet ConvertTo-CSV para converter o objeto DateTime na variável $date no formato CSV. O comando usa o parâmetro InputObject para especificar o objeto a ser convertido. Ele usa o parâmetro Delimiter para especificar o delimitador que separa as propriedades do objeto. Ele usa o parâmetro NoTypeInformation para suprimir a cadeia de caracteres #TYPE.
Exemplo 3
C:\PS>get-eventlog -log "windows powershell" | convertto-csv -useculture
Descrição
-----------
Esse comando converte o log de eventos do Windows PowerShell no computador local em uma série de cadeias de caracteres CSV.
O comando usa o cmdlet Get-EventLog para obter os eventos no log de eventos do Windows PowerShell. Um operador de pipeline (|) envia os eventos para o cmdlet ConvertTo-CSV que os converte no formato CSV. O comando usa o parâmetro UseCulture que usa o separador de lista da cultura atual como o delimitador.